首页 > 其他 > 详细

暑假集训(4)第七弹——— 组合(hdu1850)

时间:2016-08-06 18:54:59      阅读:267      评论:0      收藏:0      [点我收藏+]

题意概括:你赢得了第一局。魔鬼给出的第二局是,如果有N堆牌,先手的人有几种可能胜利。

 

问题分析:尼姆游戏,先得到n堆牌的数量异或和,再将异或和与每一个牌组的数量异或,如果结果小于原牌组数量

则可能++。

 

技术分享
 1 #include "cstdio"
 2 int M[104];
 3 int main()
 4 {
 5     int m,sum,f;
 6     while (scanf ("%d",&m) && m)
 7     {
 8         sum=f=0;
 9         for (int i=1;i<=m;i++)
10         {
11             scanf ("%d",&M[i]);
12             sum^=M[i];
13         }
14         for (int i=1;i<=m;i++)
15         {
16             if (M[i] > (M[i]^sum))
17                 f++;
18         }
19         printf ("%d\n",f);
20     }
21     return 0;
22 }
View Code

 

暑假集训(4)第七弹——— 组合(hdu1850)

原文:http://www.cnblogs.com/huas-zlw/p/5744452.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!