题目描述:
赵、钱、孙、李、周五人围着一张圆桌吃饭。饭后,
周回忆说:“吃饭时,赵坐在钱旁边,钱的左边是孙或李”;
李回忆说:“钱坐在孙左边,我挨着孙坐”。
结果他们一句也没有说对。请问,他们在怎样坐的?
#include<stdio.h>
int left(int p,int q)
{
return p+1==q||p==5&&q==1;
}
int right(int p,int q)
{
return left(q,p);
}
int near(int p,int q)
{
return left(p,q)||right(p,q);
}
int main()
{
int zhao,qian,sun,li,zhou;
zhao=1;
for(qian=1;qian<=5;qian++)
for(sun=1;sun<=5;sun++)
for(li=1;li<=5;li++)
for(zhou=1;zhou<=5;zhou++)
{
if(zhao!=qian&&zhao!=sun&&zhao!=li&&zhao!=zhou
&&qian!=sun&&qian!=li&&qian!=zhou
&&sun!=li&&sun!=zhou
&&li!=zhou)
{
int zp=near(zhao,qian),zq=left(sun,qian)||left(li,qian);
int lp=left(qian,sun),lq=near(li,sun);
if(zp+zq+lp+lq==0)
{
printf("%d %d %d %d %d\n",zhao,qian,sun,li,zhou);
}
}
}
return 0;
}
转载自原文链接, 如需删除请联系管理员。
原文链接:逻辑推理之赵钱孙李周,转载请注明来源!