復讀機的力量(結構體排序)

2021-09-25 10:31:50 字數 1996 閱讀 1160

單點時限: 2.0 sec

記憶體限制: 512 mb

codancer: 「我好菜啊!」

dicer: 「我好菜啊!」

todest: 「我好菜啊!」

capryang: 「我好菜啊!」

…大佬們又開始裝弱了,真正的菜雞瑟瑟發抖不敢說話。

我們規定乙個人是復讀機當且僅當他說的每一句話都是復讀前乙個人說的話。

我們規定乙個人是復讀機當且僅當他說的每一句話都是復讀前乙個人說的話。

我們規定乙個人是復讀機當且僅當他說的每一句話都是復讀前乙個人說的話。

規定乙個復讀機的熟練度為復讀數量的多少。現在給你一段聊天記錄,請你找出其中的復讀機們。

規定乙個復讀機的熟練度為復讀數量的多少。現在給你一段聊天記錄,請你找出其中的復讀機們。

規定乙個復讀機的熟練度為復讀數量的多少。現在給你一段聊天記錄,請你找出其中的復讀機們。

輸入格式

輸入t組,(1≤t≤10)

每組第一行輸入乙個正整數n,表示聊天記錄的長度(1≤n≤10000)。

接下來n行,每行兩個字串,前乙個字串為姓名,後乙個字元為聊天記錄。

保證所有字串長度不超過50,保證所有字串只包含小寫字母.

輸出格式

如果沒有復讀機,輸出 「unbelievable!」(不包含引號)

否則按照熟練度從大到小輸出所有的復讀機,如果熟練度相同,按照字典序從小到大輸出。

樣例input14

codancer iamsovegetable

dicer iamsovegetable

todest iamsovegetable

capryang iamsovegetable

output

capryang

dicer

todest

提示資料保證上面大佬們說的話都是瞎話。

被卡的挺狠的一道題(大佬怎麼那麼愛復讀- -)

一開始用結構體很快就寫出來了,但是忽略了「我們規定乙個人是復讀機當且僅當他說的每一句話都是復讀前乙個人說的話。」

也就是說只要有一次不是復讀,那就不是復讀機,然後就加了乙個判斷,**比較繁瑣(中間改的比較迷)好不容易才過了

#include

#include

using

namespace std;

struct fudu

;bool

cmp1

(fudu a,fudu b)

bool

cmp2

(fudu a,fudu b)

int t,n;

intmain()

//cout<}

sort

(fudu,fudu+n,cmp2)

; string names;

for(

int i=

1;i(fudu[i]

.name ==fudu[i-1]

.name&&fudu[i]

.times&&

(!fudu[i-1]

.fudu1||

!fudu[i]

.fudu1 ))if

(fudu[i]

.name ==fudu[i-1]

.name&&

!fudu[i]

.times)

}sort

(fudu,fudu+n,cmp1);if

(fudu[0]

.times ==

0) cout<<

"unbelievable!"

else cout<<

"unbelievable!"

<}return0;

}/*14

codancer iamsovegetable

dicer iamsovegetable

todest iamsovegetable

capryang iamsovegetable

*/

突然很想寫個自己專用的復讀機1

1 沒有復讀機的那種後退n秒的功能,不小心就後退到上一首歌了 2 按鍵太小,極易按錯 總之各種不爽。1自動重複1首歌 2 按鍵要大 簡化成設計 1 乙個檔案選擇介面 先搞第乙個檔案選擇介面 1 sd卡的檔案列表 2 簡單的listview例子 3 關於listview的總結 重點參考android....

結構體的排序

對於排序的方法,我們知道很多種。但實際應用中,最麻煩的不是排序本身,因為幾乎所有語言都提供了排序的函式。而麻煩的是不經需要排序,還需要把一些附帶的資料的位置也跟著重新排列。比如我們有很多學生的資料。每個學生是乙個物件,然後這些物件按一定順序放在乙個陣列裡面。我們一會兒想按照學生成績來排列這些物件,一...

簡單的結構體排序

在網上搜尋結構體排序很多都是使用氣泡排序來進行 學習了lambda表示式後,產生用這個來作為謂詞對結構體進行排序 很簡單的結構體排序,結構體只是很簡單的string型別 int型別 include include include include include include using names...