这题目用C或C++应该怎么编写求答案?

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:09:07
5位跳水高手将参加10M 高台跳水决赛,有好事者让5人据实力预测比赛结果。
A说:B第二,我第三。
B说:我第二,E第四。
C说:我第一,D第二。
D说:C最后,我第三。
E说:我第四,A第一。
决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错。请编程解出比赛的实际名次

/************************************************
*描述:
*A说:B第二,我第三。
*B说:我第二,E第四。
*C说:我第一,D第二。
*D说:C最后,我第三。
*E说:我第四,A第一。
*运行结果:3 1 5 2 4
************************************************/
#include <iostream>
using namespace std;

int main()
{
for (char A = '1';A < '6';A++)
{
for(char B = '1';B < '6';B++)
{
if(A == B) continue;//不可能存同名次
for (char C = '1';C < '6';C++)
{
if (A == C || B == C ) continue;
for(char D = '1';D < '6';D++)
{
if (A == D || B == D || C == D) continue;
for(char E = '1';E < '6';E++)
{
if (A == E || B == E || C == E || D == E) continue;
if((A == '3')^(B == '2') && (B == '2')^(E == '4')
&& (C == '1')^(D == '2') && (C == '5')^(D == '3')