1. 程式人生 > >JZOJ 2018.07.13【2018提高組】模擬C組 3382~3385

JZOJ 2018.07.13【2018提高組】模擬C組 3382~3385

目錄:

3382. 【NOIP2013模擬】七夕祭

Description
七夕節因牛郎織女的傳說而被扣上了「情人節」的帽子。於是TYVJ今年舉辦了一次線下七夕祭。Vani同學今年成功邀請到了cl同學陪他來共度七夕,於是他們決定去TYVJ七夕祭遊玩。

TYVJ七夕祭和11區的夏祭的形式很像。矩形的祭典會場由N排M列共計N×M個攤點組成。雖然攤點種類繁多,不過cl只對其中的一部分攤點感興趣,比如章魚燒、蘋果糖、棉花糖、射的屋……什麼的。Vani預先聯絡了七夕祭的負責人zhq,希望能夠通過恰當地佈置會場,使得各行中cl感興趣的攤點數一樣多,並且各列中cl感興趣的攤點數也一樣多。

不過zhq告訴Vani,攤點已經隨意佈置完畢了,如果想滿足cl的要求,唯一的調整方式就是交換兩個相鄰的攤點。兩個攤點相鄰,當且僅當他們處在同一行或者同一列的相鄰位置上。由於zhq率領的TYVJ開發小組成功地扭曲了空間,每一行或每一列的第一個位置和最後一個位置也算作相鄰。現在Vani想知道他的兩個要求最多能滿足多少個。在此前提下,至少需要交換多少次攤點。

Input
第一行包含三個整數N和M和T。T表示cl對多少個攤點感興趣。

接下來T行,每行兩個整數x, y,表示cl對處在第x行第y列的攤點感興趣。

Output
首先輸出一個字串。如果能滿足Vani的全部兩個要求,輸出both;如果通過調整隻能使得各行中cl感興趣的攤點數一樣多,輸出row;如果只能使各列中cl感興趣的攤點數一樣多,輸出column;如果均不能滿足,輸出impossible。

如果輸出的字串不是impossible, 接下來輸出最小交換次數,與字串之間用一個空格隔開。

Sample Input
樣例輸入1

2 3 4

1 3

2 1

2 2

2 3

樣例輸入2

3 3 3

1 3

2 2

2 3

Sample Output
樣例輸出1

row 1

樣例輸出2

both 2

Data Constraint
對於30% 的資料,N, M≤100。

對於70% 的資料,N, M≤1000。

對於100% 的資料,1≤N, M≤100000,0≤T≤min(NM, 100000),1≤x≤N,1≤y≤M。

3383. 【NOIP2013模擬】太鼓達人

Description
七夕祭上,Vani牽著cl的手,在明亮的燈光和歡樂的氣氛中愉快地穿行。這時,在前面忽然出現了一臺太鼓達人機臺,而在機臺前坐著的是剛剛被精英隊伍成員XLk、Poet_shy和lydrainbowcat拯救出來的的applepi。看到兩人對太鼓達人產生了興趣,applepi果斷閃人,於是cl拿起鼓棒準備挑戰。然而即使是在普通難度下,cl的路人本性也充分地暴露了出來。一曲終了,不但沒有過關,就連鼓都不靈了。Vani十分過意不去,決定幫助工作人員修鼓。

鼓的主要元件是M個圍成一圈的感測器。每個感測器都有開和關兩種工作狀態,分別用1和0表示。顯然,從不同的位置出發沿順時針方向連續檢查K個感測器可以得到M個長度為K的01串。Vani知道這M個01串應該是互不相同的。而且鼓的設計很精密,M會取到可能的最大值。現在Vani已經瞭解到了K的值,他希望你求出M的值,並給出字典序最小的感測器排布方案。

Input
一個整數K。

Output
一個整數M和一個二進位制串,由一個空格分隔。表示可能的最大的M,以及字典序最小的排布方案,字元0表示關,1表示開。你輸出的串的第一個字和最後一個字是相鄰的。

Sample Input
3

Sample Output
8 00010111

樣例解釋:

得到的8個01串分別是000、001、010、101、011、111、110和100。注意前後是相鄰的。長度為3的二進位制串總共只有8種,所以M = 8一定是可能的最大值。

Data Constraint
對於全部測試點,2≤K≤11。

3384. 【NOIP2013模擬】理科男

Description
吃過草莓刨冰之後,Vani和cl有些疲倦地坐在一個長椅上。

“吶,玩得開心嗎?”Vani忽然問道。

“嗯……很,很開心的說。”

“那麼,我有一個問題想要問你呢。”

cl的臉有點紅了起來。

“嗯……好吧。問、問吧……我會告訴你的哦……”

“那好。對於一個分數A / B……”

“嗯……哎?哎?!”

“……就是這個問題。我覺得這個問題好糾結啊……”

Vani淡定地說完這句話。

“啊?!哈啊?!”

對於給定的分數 A / B,求其在 K 進位制下是有限小數還是迴圈小數。如果是有限小數,求小數點後的位數;如果是迴圈小數,則求混迴圈部分和迴圈節的長度又分別是多少。

注意,迴圈節指的是最短迴圈節,且混迴圈部分的長度也指最短。

Input
第一行一個正整數 T,表示測試資料的數目。

每個測試資料包含三個空格分隔的整數 A, B, K。含義如題目所示。

Output
對於每個測試資料,在單獨的一行內輸出兩個空格分隔的整數 M, R。

其中 M 表示混迴圈部分的長度,R 表示迴圈節的長度。

如果 A / B 在 K 進位制下是有限小數,則 R = 0,M 為小數點後面的位數;如果 A / B 在 K 進位制下是純迴圈小數,則 M = 0。

Sample Input
3

1 8 10

17 99 10

217 990 10

Sample Output
3 0

0 2

1 2

Data Constraint
對於 50% 的資料,B≤100000。

對於 100% 的資料,1≤A

3385. 【NOIP2013模擬】黑魔法師之門

Description
經過了16個工作日的緊張忙碌,未來的人類終於收集到了足夠的能源。然而在與Violet星球的戰爭中,由於Z副官的愚蠢,地球的領袖applepi被邪惡的黑魔法師Vani囚禁在了Violet星球。為了重啟Nescafé這一巨集偉的科技工程,人類派出了一支由XLk、Poet_shy和lydrainbowcat三人組成的精英隊伍,穿越時空隧道,去往Violet星球拯救領袖applepi。

applepi被囚禁的地點只有一扇門,當地人稱它為“黑魔法師之門”。這扇門上畫著一張無向無權圖,而開啟這扇門的密碼就是圖中每個點的度數大於零且都是偶數的子圖的個數對1000000009取模的值。此處子圖 (V, E) 定義為:點集V和邊集E都是原圖的任意子集,其中E中的邊的端點都在V中。

但是Vani認為這樣的密碼過於簡單,因此門上的圖是動態的。起初圖中只有N個頂點而沒有邊。Vani建造的門控系統共操作M次,每次往圖中新增一條邊。你必須在每次操作後都填寫正確的密碼,才能夠開啟黑魔法師的牢獄,去拯救偉大的領袖applepi。

Input
第一行包含兩個整數N和M。

接下來M行,每行兩個整數A和B,代表門控系統添加了一條無向邊 (A, B)。

Output
輸出一共M行,表示每次操作後的密碼。

Sample Input
4 8

3 1

3 2

2 1

2 1

1 3

1 4

2 4

2 3

Sample Output
0

0

1

3

7

7

15

31

樣例解釋:

第三次新增之後,存在一個滿足條件的子圖 {1, 2, 3}(其中1, 2, 3是資料中邊的標號)。

第四次新增之後,存在三個子圖 {1, 2, 3},{1, 2, 4},{3, 4}。

子圖不一定連通。舉另外一個例子,例如點(1、2、3),(4、5、6)分別組成一個三元環,則圖中有三個所求子圖。

Data Constraint
對於30% 的資料,N, M≤10。

對於100% 的資料,N≤200000,M≤300000。