description
觀眾席每一行構成乙個圓形,每個圓形由300個座位組成,對300個座位按照順時針編號1到300,且可以認為有無數多行。現在比賽的組織者希望觀眾進入場地的順序可以更加的有趣,在門票上並沒有規定每個人的座位,而是與這個圈中某個人的相對位置,可以坐在任意一行。
門票上標示的形式如下:a b x 表示第b個人必須在a的順時針方向x個位置(比如a坐在4號位子,x=2,則b必須坐在6號位子)。
現在你就座位志願者在入場口檢票。如果拿到一張門票,與之前給定的矛盾,則被視為是假票,如果無矛盾,視為真票。現在給定該行入場觀眾的順序,以及他們手中的門票,請問其中有多少假票?
input
第一行兩個數n(1<=n<=50,000)和m(1<=m<=100,000)。n表示人數。
接下來m行,每行三個數a,b,x標示b必須坐在a的順時針方向x個位置。(1<=a<=n), b(1<=b<=n), x(0<=x<300) (a!=b)
以上字母含義如題所述。
output
僅乙個數,表示在m張票中有多少假票。
sample input
10 10
1 2 150
3 4 200
1 5 270
2 6 200
6 5 80
4 7 150
8 9 100
4 8 50
1 7 100
9 2 100
sample output
2data constraint
hint
【樣例解釋】
第5張和第10張是假票
【資料範圍】
對於20%的資料:n<=100
對於100%的資料:n<=50,000。
. .
. . .分析
程式:
#include
using
namespace
std;
int n,m,f[50001],d[50001],root1,root2,ans=0,a,b,x;
int find(int w)
int main()
for (int i=1;i<=m;i++)
else
if ((d[b]-d[a]+300)%300!=x%300) ans++;
}cout
0;}
jzoj1503 體育場 帶權並查集
乙個圓形300公尺的操場,外面位置無數排的椅子,然後給出一些條件,形式為 ab x abx 意思為a在b的順時針方向第x個,求有多少個要求無法滿足 用並查集,然後乙個fa r far 陣列表示離它的fa ther f at he r有多遠,每次壓縮路徑。之後如果輸入的a和b在乙個分量內就進行判斷 f...
並查集 jzoj1503 體育場
description 觀眾席每一行構成乙個圓形,每個圓形由300個座位組成,對300個座位按照順時針編號1到300,且可以認為有無數多行。現在比賽的組織者希望觀眾進入場地的順序可以更加的有趣,在門票上並沒有規定每個人的座位,而是與這個圈中某個人的相對位置,可以坐在任意一行。門票上標示的形式如下 a...
並查集,帶權並查集
題意 ignatius過生日,客人來到,他想知道他需要準備多少張桌子。然而一張桌子上面只能坐上相互熟悉的人,其中熟悉可定義成為a與b認識,b與c認識,我們就說a,b,c相互熟悉 例如a與b熟悉and b與c熟悉,d與e熟悉,此時至少需要兩張桌子。輸入 t表示樣例個數,n表示朋友個數,朋友從1到n編號...