ZOJ 3757 Alice and Bod 模拟

上次的ZJU月赛题,规则比较复杂,当时就连题意都没摸清楚,只觉得非常复杂

比完后敲啊敲啊敲,连续WA啊,该反思下自己,没按照题意来设置条件,题目中说了 白球入袋并且。。。 给对手加分 ,白球未入袋并且。。。给对手加分,这个白球未入袋的情况也要加在判断条件里啊啊啊啊,还有就是有个地方要排序我居然忘了,好久都没发现。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m;
int a[1010];
int vis[10010];
int ans[2];
int hit[1010],c[1010];
int main()
{
    while (scanf("%d%d",&n,&m)!=EOF)
    {
        for (int i=0;i<n;i++)
            scanf("%d",&a[i]);
        sort(a,a+n);
        memset(vis,0,sizeof vis);
        int target=0,turn=0;
        ans[0]=ans[1]=0;
        int stock,in;
        for (int i=0;i<m;i++)
        {
            scanf("%d",&stock);
            bool ishit=0;
            for (int i=0;i<stock;i++)
            {
                scanf("%d",&hit[i]);
                if (hit[i]==a[target]) ishit=1;
            }
            sort(hit,hit+stock);
            scanf("%d",&in);
            bool flag=false;
            int sum=0;
            for (int i=0;i<in;i++)
            {
                scanf("%d",&c[i]);
                if (c[i]==a[target]) flag=true;
                sum+=c[i];
                vis[c[i]]=1;
            }
            sort(c,c+in);
            if (stock==0)
            {
                ans[1-turn]+=a[target];
            }
            else
            if (in!=0 && c[0]==0){
                ans[1-turn]+=hit[stock-1];
            }
            else
            if (stock>1 || (stock==1 && hit[0]!=a[target])){
                    ans[1-turn]+=hit[stock-1];
            }
            else
            if (in>0 && flag )
            {
                ans[turn]+=sum;
                //turn=1-turn;
                //target++;
                while (vis[a[target]]) target++;
                continue;
            }
            if (in>0)
            {
                ans[1-turn]+=sum;
            }
            turn=1-turn;
            while (vis[a[target]]) target++;
        }
        printf("%d : %d
",ans[0],ans[1]);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/kkrisen/p/3581045.html