演算法提高 判斷名次

2021-08-22 08:27:42 字數 1727 閱讀 7546

/*/*

問題描述

某場比賽過後,你想要知道a~e五個人的排名是什麼,於是要求他們每個人說了一句話。(經典的開頭……-_-!)得了第1名的人23,

說了假話;得了第5名的人不好意思,也說了假話;為了使求解問題簡單,第3名同樣說了假話。(奇數名次說假話)

輸入格式

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

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

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

輸出格式

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

最後一行輸出解的數量

樣例輸入

a=2d=5

e>3

a>2

b!=1

樣例輸出

acdeb

aecbd

badce

bcade

bdace

ceadb

cebda7*/

#if 1

#include#include#includeint a , b , c , d , e ;

void input( char [5] , int ) ;

void pailie(char [6] , int * , char [5]) ;

int bxt( int , int , int , int , int ) ;

int sdh( char [5] , int , int ) ;

int panduan( char ) ;

int pd_tj( char ) ;

void output( char [6] , int ) ;

int main(void)

void output( char ken[6] , int xb )

}

} for( i = 0 ; i < xb ; i ++ )

printf( "%d\n" , xb ) ;

}int pd_tj(char s)

if( s == 'b' )

if( s == 'c' )

if( s == 'd' )

if( s == 'e' ) }

int panduan(char s)

else if(s[1]=='>')

else

}else

else if(s[1]=='!')

else

}}int sdh( char s[5] , int ren,int n)

; return 0;

} else if(ren%2==1)

; return 0; }}

int bxt(int a , int b , int c , int d , int e )

if( a == e || b == c || b == d || b == e || c == d )

if( c == e || d == e)

return 1 ;

}void pailie( char ken[6] , int *xb , char s[5])

if(sdh( s , a , 0 ))}}

}}}}

}} }

}void input( char zf[5] , int n )

}#endif

演算法提高 判斷名次

演算法提高 判斷名次 時間限制 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 的名次判斷,即乙個大寫字母...