演算法提高 判斷名次
時間限制:1.0s 記憶體限制:256.0mb
問題描述
某場比賽過後,你想要知道a~e五個人的排名是什麼,於是要求他們每個人說了一句話。(經典的開頭……-_-!)得了第1名的人23,說了假話;得了第5名的人不好意思,也說了假話;為了使求解問題簡單,第3名同樣說了假話。(奇數名次說假話)
輸入格式
共5行,各行依次表示a~e說的話。
每行包含乙個形如「a>=3」的名次判斷,即乙個大寫字母+關係運算子+乙個數字,不包含空格。
大寫字母a~e,關係運算<、<=、=、>=、>、!=,數字1~5。注意:等於是「=」不是「==」!
輸出格式
可能有多解,請按照字典序輸出排名序列,每個解一行
最後一行輸出解的數量
樣例輸入
a=2d=5e>3
a>2
b!=1
樣例輸出
acdeb
aecbd
badce
bcade
bdace
ceadb
cebda
7100分ac**
#include#include#include#define n 1000
using namespace std;
string op(string cor)
else if(cor[1]=='!'&&cor[2]=='=')
else if(cor[1]=='>'&&cor[2]!='=')
else if(cor[1]=='>'&&cor[2]=='=')
else if(cor[1]=='<'&&cor[2]!='=')
else if(cor[1]=='<'&&cor[2]=='=')
return cor;
}int main()
say1[u]=op(say1[u]);
say1[v]=op(say1[v]);
say1[w]=op(say1[w]);
for(a=0; a<5; a++)
else if(say1[k][1]=='>'&&say1[k][2]!='=')
if(!flag)
break;
p++;
}else if(say1[k][1]=='>'&&say1[k][2]=='=')
if(!flag)
break;
p++;
}else if(say1[k][1]=='<'&&say1[k][2]!='=')}}
for(i=0; i
測試資料:
input1:
a=2d=5e>3
a>2
b!=1
output1:
acdeb
aecbd
badce
bcade
bdace
ceadb
cebda7
input2:
c<=3
a=1b=1
e>=4
d!=2
output2:
aedbc
bdace
beacd
bedca
cdbae
cebad
cedab
decab8
input3:
e!=4
d<=4
b=1c!=2
a=3
output3:
bcaed
bcead2
input4:
d>3
e!=3
d>4
b=1a>3
output4:
baedc
cbdea
cedba
dbcea
decba5
input5:
a>=5
a>4
a=5a=5
b<=1
output5: 0
比賽名次(藍橋杯)
5位運動員參加了10公尺臺跳水比賽,有人讓他們 比賽結果 a選手說 b第二,我第三 b選手說 我第二,e第四 c選手說 我第一,d第二 d選手說 c最後,我第三 e選手說 我第四,a第一 比賽結束後,每位選手都說對了一半,請程式設計確定比賽的名次。暴力,將所有情況都列舉出來,然後根據條件進行判斷。每...
藍橋杯 ADV 141 演算法提高 判斷名次
問題描述 某場比賽過後,你想要知道a e五個人的排名是什麼,於是要求他們每個人說了一句話。經典的開頭 得了第1名的人23,說了假話 得了第5名的人不好意思,也說了假話 為了使求解問題簡單,第3名同樣說了假話。奇數名次說假話 輸入格式 共5行,各行依次表示a e說的話。每行包含乙個形如 a 3 的名次...
字首判斷 藍橋杯
內容 2013年第四屆藍橋杯全國軟體大賽預賽第5題,填空題。char prefix char haystack start,char needle start if needle return null return haystack start 請分析 邏輯,並推測劃線處的 通過網頁提交。注意 僅...