问题 AH: 四大湖
时间限制: 1.000 Sec 内存限制: 128 MB
题目描述
上地理课时,四个学生回答我国四大湖面积大小时分别说:
甲:洞庭最大,洪泽最小,鄱阳第三
乙:洪泽最大,洞庭最小,鄱阳第二,太湖第三
丙:洪泽最小,洞庭第三
丁:鄱阳最大,太湖最小,洪泽第二,洞庭第三
对于每个湖的大小,每个人仅答对一个,试判断四个湖的大小。
输入
无
输出
按照洞庭湖,洪泽湖,鄱阳湖和太湖的顺序输出每个湖的排名(如1,4,3,2)
分析和AC代码
/**
* Created py Liu Xianmeng On 2022/12/29
*/
#include <bits/stdc++.h>
using namespace std;
int main() {
/**
* 四大湖 d h p t 的排名按照4x4=16种情况 进行遍历
* 当然 最终的结果肯定是四个排名各不一样(加上此条件进行验证即可)
*/
int d, h, p, t;
for(d=1; d<=4; ++d){
for(h=1; h<=4; ++h){
for(p=1; p<=4; ++p){
for(t=1; t<=4; ++t){
if( // 如果每个人只说对一个湖的排名 则条件满足
((t==1)+(h==4)+(p==3)==1) &&
((h==1)+(d==4)+(p==2)+(t==3)==1) &&
((h==4)+(d==3)==1) &&
((p==1)+(t==4)+(h==2)+(d==3)==1) &&
// 每个湖的排名都不一样
(d!=h && d!=p && d!=t && h!=p && h!= t && p!=t)
){
printf("%d,%d,%d,%d\n", d,h,p,t);
return 0;
}
}
}
}
}
/*
* 【答案】
* 2,4,1,3
*/
return 0;
}