level 1
panshangxun1
楼主
#include<iostream>
using namespace std;
int panduan(int o,int p,int q,int r,char z[3],int cengci)
{int i=cengci;
for(;i<5;)
{switch(i){case 0:
o--;p--;q++;r++;z[0]='x';z[1]='y';z[2]=' ';break;
case 1:
o-=2;q+=2;z[0]='x';z[1]='x';z[2]=' ';break;
case 2:
p-=2;r+=2;z[0]='y';z[1]='y';z[2]=' ';break;
case 3:
o-=1;q+=1;z[0]='x';z[1]='k';z[2]=' ';break;
case 4:
p-=1;r+=1;z[0]='y';z[1]='k';z[2]=' ';break;
}
if(p>=o||r>=q){i++;if(i>=5)cout<<"shibai"<<endl;}
else break;}
cengci=i;
return cengci;
}
void main()
{ char chuan[100],c[3],*p=&c[2];
int a=0,b=0,x=3,y=3,d=0,n=0;
while(x+y)
{int cs1,cs2,e;
cs1=panduan(x,y,a,b,c[3],0);
switch(cs1)
{case 0:
x--;y--;a++;b++;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 1:
x-=2;a+=2;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 2:
y-=2;b+=2;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 3:
x-=1;a+=1;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 4:
y-=1;b+=1;for(e=0;e<3;e++)chuan[n]=c[e];break;
}
n+=3;
cs2=panduan(a,b,x,y,c[3],0);
if(cs2==cs1){d=cs2;d++;}
cs2=panduan(a,b,x,y,c[3],d);
switch(cs2)
{case 0:
a--;b--;x++;y++;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 1:
a-=2;x+=2;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 2:
b-=2;y+=2;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 3:
a-=1;x+=1;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 4:
b-=1;y+=1;for(e=0;e<3;e++)chuan[n]=c[i];break;
}n+=3;
}
for(int i=0;i<n;i++)cout<<chuan[i];
system("pause");
}
2010年07月13日 12点07分
1
using namespace std;
int panduan(int o,int p,int q,int r,char z[3],int cengci)
{int i=cengci;
for(;i<5;)
{switch(i){case 0:
o--;p--;q++;r++;z[0]='x';z[1]='y';z[2]=' ';break;
case 1:
o-=2;q+=2;z[0]='x';z[1]='x';z[2]=' ';break;
case 2:
p-=2;r+=2;z[0]='y';z[1]='y';z[2]=' ';break;
case 3:
o-=1;q+=1;z[0]='x';z[1]='k';z[2]=' ';break;
case 4:
p-=1;r+=1;z[0]='y';z[1]='k';z[2]=' ';break;
}
if(p>=o||r>=q){i++;if(i>=5)cout<<"shibai"<<endl;}
else break;}
cengci=i;
return cengci;
}
void main()
{ char chuan[100],c[3],*p=&c[2];
int a=0,b=0,x=3,y=3,d=0,n=0;
while(x+y)
{int cs1,cs2,e;
cs1=panduan(x,y,a,b,c[3],0);
switch(cs1)
{case 0:
x--;y--;a++;b++;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 1:
x-=2;a+=2;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 2:
y-=2;b+=2;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 3:
x-=1;a+=1;for(e=0;e<3;e++)chuan[n]=c[e];break;
case 4:
y-=1;b+=1;for(e=0;e<3;e++)chuan[n]=c[e];break;
}
n+=3;
cs2=panduan(a,b,x,y,c[3],0);
if(cs2==cs1){d=cs2;d++;}
cs2=panduan(a,b,x,y,c[3],d);
switch(cs2)
{case 0:
a--;b--;x++;y++;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 1:
a-=2;x+=2;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 2:
b-=2;y+=2;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 3:
a-=1;x+=1;for(e=0;e<3;e++)chuan[n]=c[i];break;
case 4:
b-=1;y+=1;for(e=0;e<3;e++)chuan[n]=c[i];break;
}n+=3;
}
for(int i=0;i<n;i++)cout<<chuan[i];
system("pause");
}