假面舞会
一年一度的假面舞會又開始了,每個(gè)參加舞會的人都可以在入場時(shí)選擇一個(gè)自己喜歡的面具。每個(gè)面具都有一個(gè)編號,主辦方會把此編號告訴拿該面具的人。為了使舞會更有神秘感,主辦方把面具分為k(k ≥ 3)類,并使用特殊的技術(shù)將每個(gè)面具的編號標(biāo)在了面具上,只有戴第i類面具的人才能看到戴第i+1類面具 的人的編號,戴第k類面具的人能看到戴第1類面具的人的編號。 參加舞會的人并不知道有多少類面具,但是棟棟對此卻特別好奇,他想自己算出有多少類面具,于是他開始在人群中收集信息。棟棟收集的信息都是戴第幾號面具的人看到了第幾號面具的編號。如戴第2號面具的人看到了第5號面具的編號。棟棟自己也會看到一些編號,他也會根據(jù)自己的面具編號把信息補(bǔ)充進(jìn)去。由于并不是每個(gè)人都能記住自己所看到的全部編號,因此,棟棟收集的信息不能保證其完整性。現(xiàn)在請你計(jì)算,按照棟棟目前得到的信息,至多和至少有多 少類面具。由于主辦方已經(jīng)聲明了k≥3,所以你必須將這條信息也考慮進(jìn)去。
【輸入描述】第一行包含兩個(gè)整數(shù)n、m,用一個(gè)空格分隔,n表示主辦方總共準(zhǔn)備了多少個(gè)面具,m表示棟棟收集了多少條信息。接下來m行,每行為兩個(gè)用空格分開的整數(shù)a、b,表示戴第a號面具的人看 到了第b號面具的編號。相同的數(shù)對a、b在輸入文件中可能出現(xiàn)多次。
【輸出描述】輸出兩個(gè)數(shù),第一個(gè)數(shù)為最大可能的面具類數(shù),第二個(gè)數(shù)為最小可能的面具類數(shù)。如果無法將所有的面具分為至少3類,使得這些信息都滿足,則認(rèn)為棟棟收集的信息有錯誤,輸出兩個(gè)-1。
【樣例輸入】樣例1:
6 5 1 2 2 3 3 4 4 1 3 5
樣例2:
3 3 1 2 2 1 2 3
樣例1:
4 4
樣例2:
-1 -1
50%的數(shù)據(jù),滿足 n ≤ 300,m ≤ 1000;
100%的數(shù)據(jù),滿足 n ≤ 100000,m ≤ 1000000。
轉(zhuǎn)載于:https://www.cnblogs.com/Ackermann/p/5716283.html
總結(jié)
- 上一篇: 设置和取消代理
- 下一篇: AngularJs Cookie 的使用