- 论坛徽章:
- 0
|
//任给N堆石子,两人(游戏者与计算机)轮流从任一堆中任取,计算机先取,取最后一颗石子胜.
#include
unsigned int a[11];
int n;
void init1()
{
int i;
printf("input n(2--10):"); scanf("%d",&n);
for (i=1;i
void status()
{
int i;
printf("Now remainder:\n");
for (i=1;i
unsigned int sum1()
{
unsigned int s; int i;
s=0;
for(i=1;i
unsigned int xorall()
{
unsigned int s; int i;
s=0;
for (i=1;i
main()
{
unsigned int t;
int i,s,e;
init1();
while (sum1())
{
if (xorall()==0)
{
for (i=1;i0)
{
printf("computer take 1 from No.%d \n",i);
a--;
goto loop2;
}
}
else
for (i=1;i
if (s>0)
{
printf("computer take %u from No.%d \n",s,i);
a^=xorall();
goto loop2;
}
}
loop2:;
if(sum1()==0)
{
printf("computer win!"); break;
}
status();
while (1)
{
printf("Input your selection (examp. 1 2 means take 2 from No.1):\n");
scanf("%d %u",&e,&t);
if ((e>=1)&&(e=t))
{a[e]-=t; goto loop1;}
else
printf("data error! re-input...\n");
}
loop1:;
if(sum1()==0)
{
printf("you win!"); break;
}
}
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/30708/showart_406389.html |
|