poj 3975&&hdu 1850 (nim)

2015-07-20 17:39:52 · 作者: · 浏览: 4
//先手能赢
//从n堆石头中的一堆里去掉几颗,有多少堆石头可取
# include 
  
   
# include 
   
     # include 
    
      using namespace std; int main() { int n,sum,i,j,a[1010],cot,vis[1010]; while(~scanf("%d",&n),n) { sum=0; for(i=0;i
     
sum)//要异或到零的状态,因为要取出几个石头,所有a[i]要大于sum,相同的两个数异或为零 cot++; } printf("%d\n",cot); } return 0; }