TopCoder

AaW
學弟電爛我了

User's AC Ratio

60.0% (3/5)

Submission's AC Ratio

50.0% (6/12)

Tags

Description

高中物理是一門難度極高的科目,數不盡的拆國低中低能兒高中生涯的第一次不及格就是奉獻給了物理。信不信由你,每次的物理段考都會有性格扭曲的物理老師以虐待學生為樂,出一些上課沒有教過的東西來刁難學生。

但是全拆國低中的偶像,$\text{BrineTW}$,不這麼認為。

$\text{BrineTW}$ 雖然物理沒有很好,但每次都可以用他的唬爛神力飛越及格線,他大部分時間都沒有在聽課,那他每次都逃離不及格線怪物的秘訣到底是什麼呢?原來 $\text{BrineTW}$ 每次段考前的一節自習課都會把名師 $\text{Salix}$ 的講義看過一遍,然後把答案背下來,考試的時候遇到重複的題目就可以在 $\mathcal O(1)$ 的時間內回答。

一直以來 $\text{BrineTW}$ 都是這樣過生活的,他對自己的物理唬爛程度很有信心,每次補習班打電話過來的時候,$\text{BrineTW}$ 總是很有勇氣的拒絕他,具體來說,流程大概會像這樣:

  1. $\text{BrineTW}$ 接起電話
  2. 補習班的工作人員會給出一個詢問句子,可以把他理解為一個有空格的字串 $Q$,問 $\text{BrineTW}$ 接電話的是誰
  3. $\text{BrineTW}$ 這時能夠有三個回答 $R$:
    • $R_0$:您好,我是 $\text{BrineTW}$ 的爸爸,請問有何貴幹。
    • $R_1$:您好,我是你的偶像 $\text{BrineTW}$。
    • $R_2$:您好,$\text{BrineTW}$ 的家裡現在沒有人在,請稍後不要打來了。
    • 看到這裡,你應該會想問:那 $\text{BrineTW}$是怎麼決定他要回答哪一個句子的呢?
    • 原來 $\text{BrineTW}$ 是個很有原則的人,他的回答會遵循以下規則:
      • 如果 $|Q| \equiv 1\text{ mod }3$,則 $\text{BrineTW}$ 會回答 $R_0$
      • 如果 $|Q|-1 \equiv 2\text{ mod }3$,則 $\text{BrineTW}$ 會回答 $R_2$
      • 如果 $|Q|+2 \equiv 1\text{ mod }3$,則 $\text{BrineTW}$ 會回答 $R_1$
  4. 如果電話的另一端遇到回答是 $R_0$ 的話,對方有高機率回答:「爸爸好!」,此時 $\text{BrineTW}$ 就會很開心地回答:「嗨,兒子」。

$\text{BrineTW}$ 熱衷於寫沒有用的程式和題序,所以他寫出了一個程式 $P$,能夠自動接起電話,播放預錄的語音,判定 $|Q|$ 並回傳指定的 $R$。但是沒有人好像不會寫一個可以操作機器人的程式,所以 $\text{BrineTW}$ 把程式簡化成如下。

具體來說,簡化過後的程式如下:

  • 首先使用者能夠先輸入一個正整數 $N$,代表接下來會有多少回答 $R$
  • 接下來的 $N$ 行,每行會有一個可能含有的字串 $s$,代表編號為 $i$ 的回答 $R_i$
  • 而後 $N$ 行,每行會有三個整數 $a,\ b,\ c$,代表當工作人員詢問的的字串 $Q$ 的大小 $|Q|$ 加上 $a$ 後在模 $N$ 底下同餘 $b$ 時會回答 $R_c$
  • 再來的 $T$ 行會有 $T$ 筆詢問(P.S. $T$ 不會給定),每筆詢問會有一個可能含有空白的字串 $s$,代表的是編號為 $i$ 的詢問 $Q_i$
  • 對於每筆詢問,程式會根據上面的規則判定,並輸出指定的回答 $R$
  • 測試資料限制:
    • $0 < N \le 10^4$
    • $\forall R_i: |R_i| < 7122$
    • $T \le 100$
    • $\forall Q_i: |Q_i| < 48763$
    • 為了輸入方便,$\text{BrineTW}$ 已經把所有中文字全部轉換成他的注音在鍵盤上的位置了,雖然轉換之後字串大小會改變,但 $\text{BrineTW}$ 不在乎,他決定以轉換過後的字串判斷即可。

但有一天 $\text{BrineTW}$ 的物理老師 $\text{Salix}$ 打電話到 $\text{BrineTW}$ 家中,因為 $\text{BrineTW}$ 請太多節公假了都沒有來上課,但是很不幸的這通電話被 $\text{BrineTW}$ 的程式攔截到了,更不幸的是,$\text{Salix}$ 遇到了「嗨,兒子」的回應,因此其深感不爽。

但這還不是慘劇發生的主因,整場事件的導火線其實是拆國低中墊神鹽咎社的學術長兼公關 $\text{AaW}$,在確診完後回來上課的第一堂物理課時回頭和 $\text{BrineTW}$ 講了兩句話,可能是因為 $\text{AaW}$ 講話本來就比較激動且大聲,因而使物理老師纖細的耳朵受到重創,因此使物理老師深感不爽,而他想到 $\text{AaW}$ 和 $\text{BrineTW}$ 是拆國低中人文社會資源班的學生,而自己是拆國低中人文社會資源班,所以可以自己獨立出題,搞死這群不知好歹的低能兒,並說出「老師我要把題目出得很難很難來教訓你們喔!」

此時認真聽課且物理段考次次破臺的 $\text{AaW}$ 心中一絲一毫的緊張都沒有,因為他是超級大電神,所以他反而很期待自己段考時透過很難的物理考卷來和同學拉開分數差距並打爛所有人,順利錄取自己心目中的臺灣大學資訊工程學系。

但是請了太多公假,該學段沒有上半節物理課的 $\text{BrineTW}$ 此時慌了,因為他深知老師會利用自己沒有上課這件事情來對他的分數造成傷害,所以他現在要來惡補物理課的錄影檔。他在影片中看到了一題,聽完老師的講解後還是聽不太懂,所以他決定自己寫一個程式來模擬。

該題的題目敘述如下:

在一個無限大的表面上有一個可以往任意方向射出一道高能光束的光源 S,在表面下有 $N$ 層互相平行的不同介質,每層介質都有不同的折射率,請問哪些介面可以產生全反射呢?

聰明的 $\text{BrineTW}$ 雖然沒上過物理課,但他知道一個至關重要的物理定律來解決這個問題:Snell's Law,該定律主要在說明,當有一道光束從折射率為 $n_1$ 的介質射到折射率為 $n_2$ 的介質時,入射角 $\theta_1$ 和折射角 $\theta_2$ 滿足下列關係式:$$n_1\sin\theta_1 = n_2\sin\theta_2$$ 而產生全反射的條件就是 $\theta_1 > \theta_c$,而 $\theta_c$ 符合 $n_1\sin\theta_c = n_2\sin 90^\circ$

因為你實在是太電了,所以走投無路的 $\text{BrineTW}$ 拜託您寫一個程式幫助他解決這個問題,$\text{BrineTW}$ 會告訴你光源所在的介質的折射率還有每層介質的折射率,請你回答哪些介面可以產生全反射。

Input Format

$\text{BrineTW}$ 會先告訴你一個整數 $N$,代表表面底下會有幾層介質,接下來的第一行會有一個整數 $n_s$,代表光源所在的介質的折射率,接下來 $N$,每行會有一個整數 $n_i$ 代表第 $i$ 層的折射率。

$0 < N \le 2 \times 10^5 \\$

$0 < n_s \le 2^{31} \\$

$\forall n_i, 0 < n_i \le 2^{31} \\$

Output Format

請回答所有能夠產生全反射的交界面,以兩個交界面的編號表示,如 $(s, 1)$ 或 $(2, 3)$,每個介面中間換一行

Sample Input 1

3
4
5
6
3

Sample Output 1

(2, 3)

Hints

Problem Source

Subtasks

No. Testdata Range Score

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Memory Limit (RSS, KiB) Output Limit (KiB) Subtasks
0 1000 250000 250000 65536