记录编号 |
351494 |
评测结果 |
AA |
题目名称 |
取火柴游戏 |
最终得分 |
100 |
用户昵称 |
Zwoi_只会打表抄代码的蒟蒻 |
是否通过 |
通过 |
代码语言 |
C |
运行时间 |
0.000 s |
提交时间 |
2016-11-16 16:40:20 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include <stdio.h>
#include <math.h>
int k,a[500][10],b[10],x[10],y[10],p,j,i,t,h[500],d,l,q;
int main()
{
freopen("matchi.in","r",stdin);
freopen("matchi.out","w",stdout);
scanf("%d",&k);
p=9;
for(i=1;i<=k;i++)
{
scanf("%d",&b[i]);
t=b[i];
j=9;
while(t)
{
a[i][j]=t%2;
j--;
t>>=1;
}
if(j<p)
{
p=j+1;
q=i;
}
}
t=0;
for(i=p;i<=9;i++)
{
for(j=1;j<=k;j++)
x[i]+=a[j][i];
if(x[i]%2)
{
y[i]=1;
t++;
}
}
if(!t)
{
printf("lose");
return 0;
}
/*t=-1;
for(i=p;i<10;i++)
if(y[i])
{
if(t==-1)
for(j=1;j<=k;j++)
{
if(a[j][i])
{
t=j;
for(l=0;l<10;l++)
h[l]=a[t][l];
break;
}
}
h[i]=!h[i];
}*/
for(i=p;i<10;i++)
{
h[i]=a[q][i];
if(y[i])
h[i]=!h[i];
d+=h[i]*pow(2,9-i);
}
printf("%d %d\n",b[q]-d,q);
b[q]=d;
for(i=1;i<=k;i++)
printf("%d ",b[i]);
return 0;
}