五位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第一,我第三,B选手说:我第二,E第四,C选手说:我第一,D第二,D选手说:C最后我第三,E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请你猜测比赛的名次
看到这道问题当然开始的想法就是列举法,将每种情况都列举一遍,最终满足题意要求的就是正确的比赛结果,那仫如何编程实现呢?既然是穷举法用程序实现就是五个for循环,将每种情况穷举一遍满足题意的就是结果,那仫我开始实现的版本就是:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=0,b=0,c=0,d=0,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(((b == 1)+(a == 3) == 1) &