演算法提高 判斷名次

2021-08-15 20:33:23 字數 1295 閱讀 8502

問題描述

某場比賽過後,你想要知道a~e五個人的排名是什麼,於是要求他們每個人說了一句話。(經典的開頭……-_-!)得了第1名的人23,說了假話;得了第5名的人不好意思,也說了假話;為了使求解問題簡單,第3名同樣說了假話。(奇數名次說假話)

輸入格式

共5行,各行依次表示a~e說的話。

每行包含乙個形如「a>=3」的名次判斷,即乙個大寫字母+關係運算子+乙個數字,不包含空格。

大寫字母a~e,關係運算<、<=、=、>=、>、!=,數字1~5。注意:等於是「=」不是「==」!

輸出格式

可能有多解,請按照字典序輸出排名序列,每個解一行

最後一行輸出解的數量

樣例輸入

a=2

d=5

e>3

a>2

b!=1

樣例輸出

acdeb

aecbd

badce

bcade

bdace

ceadb

cebda

7

#include

#include

using

namespace

std;

bool jiahua[10]; //代表相應名次的人說真/假話,true代表真話。

char mingci[10]; //名次序列

string ist[10]; //指令序列

bool judge()else

if(ope==iequal)else

if(ope==big&&ope2!=equal)

}else

if(ope==big&&ope2==equal)

}else

if(ope==smal&&ope2!=equal)

} else

if(ope==smal&&ope2==equal)

} }elseelse

if(ope==iequal)else

if(ope==big&&ope2!=equal)

}else

if(ope==big&&ope2==equal)

}else

if(ope==smal&&ope2!=equal)

} else

if(ope==smal&&ope2==equal)}}

} return

true;

}int main()

for(i=1;i<=5;i++)

do

演算法提高 判斷名次

演算法提高 判斷名次 時間限制 1.0s 記憶體限制 256.0mb 問題描述 某場比賽過後,你想要知道a e五個人的排名是什麼,於是要求他們每個人說了一句話。經典的開頭 得了第1名的人23,說了假話 得了第5名的人不好意思,也說了假話 為了使求解問題簡單,第3名同樣說了假話。奇數名次說假話 輸入格...

演算法提高 判斷名次

問題描述 某場比賽過後,你想要知道a e五個人的排名是什麼,於是要求他們每個人說了一句話。經典的開頭 得了第1名的人23,說了假話 得了第5名的人不好意思,也說了假話 為了使求解問題簡單,第3名同樣說了假話。奇數名次說假話 輸入格式 共5行,各行依次表示a e說的話。每行包含乙個形如 a 3 的名次...

演算法提高 判斷名次

某場比賽過後,你想要知道a e五個人的排名是什麼,於是要求他們每個人說了一句話。經典的開頭 得了第1名的人23,說了假話 得了第5名的人不好意思,也說了假話 為了使求解問題簡單,第3名同樣說了假話。奇數名次說假話 共5行,各行依次表示a e說的話。每行包含乙個形如 a 3 的名次判斷,即乙個大寫字母...