POJ 1323 Game Prediction

来源:互联网 发布:sql start with 树状 编辑:程序博客网 时间:2024/05/17 02:27

纸牌游戏,

M人每人N张牌。

每轮如果有人能比你的牌更大,你就赢不了。

如:

2 5

1 7 2 10 9;

总共 2*5=10张牌,你手里5张。

当你10的时候,没有比你更大的。

9的时候也是,其他时候都可能比你大。

所以答案为2.

不过输出的时候Case %d: %d\n居然这儿总共2个空格。害我PE一次。

POJ AC代码

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;bool cmpa(int a,int b){    return a>b;}int main(){    int n,m,i,j,a[51],v[1001],k=1;    while(scanf("%d%d",&m,&n),m!=0&&n!=0)    {        memset(v,0,sizeof(v));        for(i=0;i<n;i++)        scanf("%d",&a[i]),v[a[i]]=1;        int tmp=0,ma=m*n,ans=0;        sort(a,a+n,cmpa);        for(i=0;i<n;i++)        {            for(j=ma;j>0;j--)            {                if(v[j]==0)                {                    if(j<a[i])                    {ans++;break;}                    else                    {v[j]=1;break;}                }            }        }        printf("Case %d: %d\n",k++,ans);    }}


原创粉丝点击