鬱悶的記者(列舉)

2022-05-27 22:57:09 字數 2374 閱讀 4459

3.鬱悶的記者

(rank.pas/c/cpp)

【題目描述】

你是乙個體育報社的記者,你接受到乙個艱難的任務:有n支足球隊參加足球比賽,現在給你一些比賽的結果,需要你給出各支球隊的排名,從1到n。

以下是給你的一些資訊:

(1)沒有平局;

(2)不同的球隊排名不能相同;

(3)對於所有滿足1<=a,第a名的球隊一定可以打敗第b名的球隊。

給你部分比賽結果,要求給出排名,並且判斷是否存在另一種排名方法滿足給你的比賽結果。

【輸入格式】

第一行輸入n(1<=n<=5000),表示球隊的數量,編號為1到n。第二行輸入m(1<=m<=100,000),表示給出的比賽場數,接下來m行,每行兩個整數x_i,y_i,表示x_i能打敗y_i。

【輸出格式】

輸出包含n+1行,前n行描述球隊的排名,第i個數表示第i名的球隊,第n+1行包含乙個整數,如果為0表示不存在其他的排名方法,否則為1表示還有其他的排名方法。

【樣例輸入輸出】

rank.in

rank.out45

1 23 1

3 23 4

4 1341

2032

2 12 321

31【資料範圍】

30%的資料 1<=n<=7,1<=m<=15

60%的資料1<=n<=100,1<=m<=2000

分析:

列舉兩個兩個點

(x1,y1)

、(x2,y2),

從圖中可以看出兩個綠色線段和兩個藍色線段分別相等

,所以有以下兩個方程:

x2-x1=y3-y1

óy3=y1+(x2-x1)

y2-y1=x1-x3

óx3=x1-(y2-y1)

(x3,y3)

求出後,可以根據同樣的方法求出

(y4,y4)

,也可以利用平行四邊形兩條對角線相交於一點得出:

x1+x4=x2+x3

y1+y4=y2+y3

從而求出

(x4,y4)

,再判斷

(x3,y3)

和(x4,y4)

是否存在就可以了

時間複雜度為

o(n^2)

再次貼**:

t075 鬱悶的記者

time limit 1 second memory limit 128 mb 問題描述 你是乙個體育報社的記者,你接受到乙個艱難的任務 有n支足球隊參加足球比賽,現在給你一些比賽的結果,需要你給出各支球 隊的排名,從1到n。以下是給你的一些資訊 1 沒有平局 2 不同的球隊排名不能相同 3 對於所...

題解 洛谷P1960 鬱悶的記者

huge texttt 日期 texttt 年 texttt 月 texttt 日 編號 texttt 演算法模擬 拓撲排序 texttt huge texttt 這是一道比較簡單的題目,我們可以使用以下簡單的模擬。本人並沒有學過拓撲排序,模擬賽做完這道題目,別人告訴我,這就是拓撲排序。因此,大家我...

鬱悶的ASP!鬱悶的EPCS!

自己畫的板子,就是因為有時候做東西,mcu fpga cpld聯調,epm240t100c5n已經不夠我用了,與其畫一塊更大資源的cpld,還不如花一塊價效比最高的fpga,於是我選擇了ep2c5t144c8n。畫了板子,投了深圳,等板子又等元器件,終於有一天萬事俱備,只欠東風,於是昨天靜下心來喊了...