四大湖(Cプログラム設計進級2週目)
問題はわが国の4大淡水湖を説明している.
A氏は「洞庭湖が最大で、洪沢湖が最小で、鄱陽湖が3番目だ」と話した.
Bさんは「洪沢湖が一番大きく、洞庭湖が一番小さく、鄱陽湖が二番目、太湖が三番目だ」と言った.
C氏は「洪沢湖は最小で、洞庭湖は3番目だ」と話した.
D氏は、「鄱陽湖が最大で、太湖が最小で、洪沢湖が2位、洞庭湖が3位だ」と話した.
この4つの湖の大きさは等しくないことが知られており、4人は1人1つしか答えていません.
プログラミングは鄱陽湖、洞庭湖、太湖、洪沢湖の順に彼らの大きさの順位を与えてください.入力なし.出力出力は4行で、第1行為の鄱陽湖の大きさの順位は、大きい順位から小さい順位までそれぞれ1、2、3、4と表される.2行目、3行目、4行目はそれぞれ洞庭湖、太湖、洪沢湖の大きさ順だった.入力例
出力例
提示この问题私の书く方法はとても愚かで、比较的に良い方法は先にすべての可能性を挙げて(A 43=24の中で、循环をして得ることができます)、更に判断をします.
A氏は「洞庭湖が最大で、洪沢湖が最小で、鄱陽湖が3番目だ」と話した.
Bさんは「洪沢湖が一番大きく、洞庭湖が一番小さく、鄱陽湖が二番目、太湖が三番目だ」と言った.
C氏は「洪沢湖は最小で、洞庭湖は3番目だ」と話した.
D氏は、「鄱陽湖が最大で、太湖が最小で、洪沢湖が2位、洞庭湖が3位だ」と話した.
この4つの湖の大きさは等しくないことが知られており、4人は1人1つしか答えていません.
プログラミングは鄱陽湖、洞庭湖、太湖、洪沢湖の順に彼らの大きさの順位を与えてください.入力なし.出力出力は4行で、第1行為の鄱陽湖の大きさの順位は、大きい順位から小さい順位までそれぞれ1、2、3、4と表される.2行目、3行目、4行目はそれぞれ洞庭湖、太湖、洪沢湖の大きさ順だった.入力例
( )
出力例
3
2
1
4
提示この问题私の书く方法はとても愚かで、比较的に良い方法は先にすべての可能性を挙げて(A 43=24の中で、循环をして得ることができます)、更に判断をします.
#include <iostream>
using namespace std;
int main()
{
for (int p = 1; p < 5; p++)
{
for (int d = 1; d < 5; d++)
{
if (d == p)
{
continue;
}
for (int t = 1; t < 5; t++)
{
if ((t==d)||(t==p))
{
continue;
}
for (int h = 1; h < 5; h++)
{
if ((h==t)||(h==p)||(h==d))
{
continue;
}
if (((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;
}