5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第一,我第三。
B选手说:我第二,E第四。
C选手说:我第一,D第二。
D选手说:C最后,我第三。
E选手说:我第四,A第一。
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
A选手说:B第一,我第三。
B选手说:我第二,E第四。
C选手说:我第一,D第二。
D选手说:C最后,我第三。
E选手说:我第四,A第一。
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
for(a=1 ;a<=5 ; a ++)
for(b=1 ;b<=5 ; b ++)
for(c=1 ;c<=5 ; c ++)
for(d=1 ;d<=5 ; d ++)
for(e=1 ;e<=5 ; e ++)
{
if((a==1 || e==4)&&(b==1 || a==3)&&(b==2 || e==4) &&(c==1 || d==2)&&(c==5||d==3))
{
if(a!=b && a!=c && a!=d && a!=e)
if(b!=c && b!=d && b!=e)
if(c!=d && c!=e)
if(d!=e)
printf("a=%d b=%d c=%d d=%d e=%d \n",a,b,c,d,e);
}
}
return 0;
}
关于这个问题,我不知道如何解决,感觉这样求解很挫,希望有人给我一些指点