hiho 1515 分數調查 簡單bfs

2022-05-02 11:57:09 字數 1344 閱讀 2557

時間限制:10000ms

單點時限:1000ms

記憶體限制:256mb

小hi的學校總共有n名學生,編號1-n。學校剛剛進行了一場全校的古詩文水平測驗。  

學校沒有公布測驗的成績,所以小hi只能得到一些小道訊息,例如x號同學的分數比y號同學的分數高s分。  

小hi想知道利用這些訊息,能不能判斷出某兩位同學之間的分數高低?

第一行包含三個整數n, m和q。n表示學生總數,m表示小hi知道訊息的總數,q表示小hi想詢問的數量。  

以下m行每行三個整數,x, y和s。表示x號同學的分數比y號同學的分數高s分。  

以下q行每行兩個整數,x和y。表示小hi想知道x號同學的分數比y號同學的分數高幾分。  

對於50%的資料,1 <= n, m, q <= 1000  

對於100%的資料,1 <= n, m, q<= 100000 1 <= x, y <= n -1000 <= s <= 1000

資料保證沒有矛盾。

對於每個詢問,如果不能判斷出x比y高幾分輸出-1。否則輸出x比y高的分數。

樣例輸入

10 5 3  

1 2 10

2 3 10

4 5 -10

5 6 -10

2 5 10

1 10

1 5

3 5

樣例輸出

-1  

20

0

開始以為是存在環(矛盾的分數),這樣的話,可能要判環。讀完題發現沒有矛盾存在,這樣的話並查集+bfs亂搞

#include#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn=200010

;int laxt[maxn],next[maxn],to[maxn],v[maxn],cnt=0

;int fa[maxn],scr[maxn];//

fa是分組,score代表相對分數。

void _add(int u,int v,int

s)void _dfs(int

u) }

}int

main()

for(i=1;i<=n;i++)

if(!fa[i])

for(i=1;i<=q;i++)

return0;

}

view code

hihocoder 1515 分數調查

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 小hi的學校總共有n名學生,編號1 n。學校剛剛進行了一場全校的古詩文水平測驗。學校沒有公布測驗的成績,所以小hi只能得到一些小道訊息,例如x號同學的分數比y號同學的分數高s分。小hi想知道利用這些訊息,能不能判斷出某兩位同學...

hihoCoder 1515 分數調查

小hi的學校總共有n名學生,編號1 n。學校剛剛進行了一場全校的古詩文水平測驗。學校沒有公布測驗的成績,所以小hi只能得到一些小道訊息,例如x號同學的分數比y號同學的分數高s分。小hi想知道利用這些訊息,能不能判斷出某兩位同學之間的分數高低?input 第一行包含三個整數n,m和q。n表示學生總數,...

nyoj 111 分數加減法 簡單題

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 編寫乙個c程式,實現兩個分數的加減法 輸入 輸入包含多行資料 每行資料是乙個字串,格式是 a boc d 其中a,b,c,d是乙個0 9的整數。o是運算子 或者 資料以eof結束 輸入資料保證合法 輸出對於輸入資料的每一行輸出兩...