一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小, 跑第一得 9 分,跑第 2 得 8 分,依此类推。比赛结果各家的总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次。已知获第一名的是李家的孩子, 获得第二的是王家的孩子。问获得最后一名的是谁家的孩子?
#include <stdio.h>
int main(void)
{
int l1, l2, w1, w2, o1, o2, o3;
for (l1=1; l1<6; ++l1)
for (l2=1; l2<6; ++l2)
for (w1=1; w1<7; ++w1)
for (w2=1; w2<7; ++w2)
for (o1=1; o1<8; ++o1)
for (o2=1; o2<8; ++o2)
if (l1 != l2 && l1 != w1 && l1 != w2 && l1 != o1 && l1 != o2
&& l2 != w1 && l2 != w2 && l2 != o1 && l2 != o2
&& w1 != w2 && w1 != o1 && w1 != o2
&& w2 != o1 && w2 != o2
&& o1 != o2 && l1 + l2 == 6 && w1 + w2 == 7
&& l2 - l1 != 1 && w2 - w1 != 1
&& o1 + o2 == 8 && o2 - o1 != 1 && o1 != 6 && o2 != 6) {
printf("李家 9 %d %d\n", l1, l2);
printf("王家 8 %d %d\n", w1, w2);
printf("另外一家 7 %d %d\n", o1, o2);
putchar('\n');
exit(-1);
}
return 0;
}