Week2 #2 四大湖
Posted xyhzq99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Week2 #2 四大湖相关的知识,希望对你有一定的参考价值。
描述
我国有4大淡水湖。
A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。
B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。
C说:洪泽湖最小,洞庭湖第三。
D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。
已知这4个湖的大小均不相等,4个人每人仅答对一个,
请编程按照鄱阳湖、洞庭湖、太湖、洪泽湖的顺序给出他们的大小排名。
输入
无。
输出
输出为4行,第1行为鄱阳湖的大小名次,从大到小名次分别表示为1、2、3、4;第2、3、4行分别为洞庭湖、太湖、洪泽湖的大小名次。
样例输入
无
样例输出
3
2
1
4
此题没有做出来
借鉴了别人,学习了利用表达式的值来判断真假,利用循环去试每一种排名的可能,同时满足题目的要求的排名就可。
#include<iostream> using namespace std; int main() int p;//鄱阳湖的排名 int d;//洞庭湖的排名 int t;//太湖的排名 int h;//洪泽湖的排名 for (p = 1; p <= 4; p++) for (d = 1; d <= 4; d++) for (t = 1; t <= 4; t++) for (h = 1; h <= 4; h++) if ((p != d && p != t && p != h && d != t && d != h && t != h) && ((d == 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)) cout << p << endl << d << endl << t << endl << h << endl; return 0;
这是oj系统上可以接受的代码,但是实际跑出来的输出为1,2 ,3,4与样例输出不符,网络上上的代码也是如此。
不知道为什么- -
以上是关于Week2 #2 四大湖的主要内容,如果未能解决你的问题,请参考以下文章
?????????-???????????????-week2.2_
Coursera Algorithms week2 基础排序 Interview Questions: 2 Permutation