EOJ 排序 1829 發愁

2021-09-08 08:10:12 字數 1380 閱讀 1335

1829. 發愁

大家來到小強家,發現小強正發愁,原來小強正為 「acm 足球超級聯賽 」 的排名而發愁。

既然過生日,就應該開開心心的,所以作為超級程式設計師的你應當挺身而出!

所以請你,天才程式設計師幫下忙,寫個程式根據比賽情況計算出各隊排名。

輸入有多組測試資料。

每組資料先輸入兩個整數 n (0≤n≤10) 和 m (0≤m≤2∗n∗n),n 代表球隊數量,m 代表比賽場數。

接下來 m 行,每行有三個數 a,b,c。 a,b (1≤a,b≤n) 表示球隊的編號。

c=1 ,表示 『a 勝 b』;

c=−1 ,表示 『b 勝 a』;

c=0 ,表示 『a、b 戰成平局』。

勝者球隊積分加 3 分,負者球隊積分扣 1 分,平局雙方各加 1 分。

(輸入不會有自己打自己的情況,兩個隊之間可能有多場比賽)

n=m=0 表示輸入結束,不用處理這組資料。

每個球隊的初始積分為0。

輸出在一行中按照排名輸出各隊的編號,每個數的後面輸出乙個空格,最後乙個數後面沒有空格。

排名規則:

1: 積分高的隊排前面。

2: 積分一樣的隊勝場數多的排前面。

3: 積分一樣且勝場數一樣的隊負場數少的排前面。

4: 若還不能分出先後,編號小的排前面。

樣例input

4 41 2 1

2 1 1

3 4 1

3 4 -1

4 11 3 -1

4 13 2 0

4 44 1 1

3 2 0

3 2 0

3 1 0

4 23 1 1

1 4 0

0 0output

1 2 3 4

3 2 4 1

2 3 1 4

4 3 2 1

3 4 2 1

題目大意:

輸入球隊比賽的戰況,讓球隊按戰績排名。

題目解析:

簡單的結構體排序。

具體**:

#include

#include

using namespace std;

struct node a[11]

;bool cmp

(node x,node y)

intmain()

while

(m--

)else

if(c==-1

)else

}sort

(a+1

,a+n+

1,cmp)

;for

(int i=

1; i<=n; i++

) cout<}return0;

}

EOJ 排序 2015 自修室

2015.自修室 一直不去自修室的 rocker 最近迫於學習壓力決定每天都要去自修,鑑於自修室多多,何必與人爭擠,所以 rocker 要坐在左右乙個座位都沒人,如果不是第一排,那麼他的前面乙個座位也沒有人的位置上,當然 rocker 也可以坐在牆邊但前面或左邊或右邊有座位的話要沒有人才可以。roc...

EOJ 排序 1072 小強的單詞本

1072.小強的單詞本 大二的小強馬上就要英語四級考試了,小強不想像別人一樣拿著四級詞彙書背啊背,於是他決定每天閱讀幾篇英語文章,並把其 中需要記憶的單詞寫到 notobook 上,一周之後問題來了,單詞太亂了,現在小強決定請學計算機的同學你幫他解決這個問題。輸入第一行為乙個數字 n 0 n 100...

排序算發 計數排序

前面已經記錄過插入排序,歸併排序,快速排序,堆排序等四種排序。它們都有個共性,就是通過多次比較來得出前後順序,這種叫做比較排序,當然除此之外也有非比較排序。今天記錄的計數排序就是一種非比較排序。算發思想 有一串資料,如果我們知道每乙個元素公升序在陣列中的第幾個,那麼我們就知道了公升序的結果。而對於如...