POJ C程序设计进阶 编程题#2:四大湖

编程题#2:四大湖

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

我国有4大淡水湖。

A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。

B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。

C说:洪泽湖最小,洞庭湖第三。

D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。

已知这4个湖的大小均不相等,4个人每人仅答对一个,

请编程按照鄱阳湖、洞庭湖、太湖、洪泽湖的顺序给出他们的大小排名。

输入

无。

输出

输出为4行,第1行为鄱阳湖的大小名次,从大到小名次分别表示为1、2、3、4;第2、3、4行分别为洞庭湖、太湖、洪泽湖的大小名次。

样例输入

(无)

样例输出

3

2

1

4

提示

样例输出仅供格式参考


 

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main() 
 5 {
 6     int d,h,p,t, a[4];
//遍历所有可能的四大湖排名情况
7 for(d=1; d<=4; d++) { 8 for(h=1; h<=4; h++) { 9 for(p=1; p<=4; p++) { 10 for(t=1; t<=4; t++) { 11 if((d!=h&&d!=p&&d!=t&&h!=p&&h!=t&&p!=t) //保证每个湖的排名大小不同 12 &&((d==3)+(h==1)+(p==2)+(t==4)==1) 13 &&((d==2)+(h==4)+(p==3)+(t==1)==1) 14 &&((h==3)+(t==4)==1) 15 &&((d==1)+(h==3)+(p==4)+(t==2)==1) 16 &&((d+h+p+t)==10)) { 17 cout << d << endl << h << endl << p << endl << t<< endl; 18 return 0; //好像有两个可能答案,但是oj只接收一个,所以输出第一个正确答案就够了 19 } 20 } 21 } 22 } 23 } 24 return 0; 25 }

 

posted @ 2015-08-04 21:18  dagon  阅读(2891)  评论(1编辑  收藏  举报