TopCoder

User's AC Ratio

100.0% (2/2)

Submission's AC Ratio

100.0% (4/4)

Tags

Description

超級貓貓 Poo 最喜歡和超級貓貓男玩報數字遊戲。

牠發現,每當報出兩個數字,其中第二個數字是第一個數字的 3 倍時,就能獲得一個特別的獎勵。

但是超級貓貓男看的懂 "二進制" 的數字,並且要先說 LSB(最低位) 再說 MSB(最高位) 超級貓貓男才能正確的辨認這個數字。

超級貓貓 Poo 想要驗證,腦中閃過的兩個二進制數字,是否符合第 2 個數字為第 1 個數字的 3 倍,以獲取獎勵,

但牠只是一隻貓阿... 請寫一支程式來幫助牠完成任務。



二進制的簡單說明 (可略過): 二進制是以 0 和 1 表示一個數字的系統。相對於我們日常生活中使用的十進制,二進制每一位只會是 0 和 1 ,算到 2 就要進位。
和十進制之間的轉換關係可以寫成一個 2 的次方和,例如: 二進制 $101_{(2)}$ 轉換成十進制是 $5_{(10)}$,因為 1 * 22 + 0 * 21 + 1 * 20 = 22 + 20 = 5。
LSB 是 Least Significant Bit,指的是二進制表示中最右邊的 bit (2 的次方數最低,即 0 次方)。
MSB 是 Most Significant Bit ,指的是二進制表示中最左邊的 bit (2 的次方數最高,實際為第幾位取決於數字大小)。

Input Format

每行有兩個以空格隔開的 0 或 1。

在第 i 行中,第一個 0 或 1 是第一個數字的第 i 個位元,位元由最右邊算到最左邊。第二個 0 或 1 是第二個數字的第 i 個位元。

請一直讀取輸入直到 EOF (End Of File),關於更多 EOF 相關問題請見 Hints。

最多不會超過 6e6 行。

Output Format

判斷第二個數字是否為第一個數字的 3 倍。如果是,輸出 "accept",否則輸出 "reject"。

(不需要輸出雙引號)

Sample Input 1

1 1
0 1

Sample Output 1

accept

# 以下為測資說明,只要輸出 accept 即可
# 測資說明: 第一個數字為 01(2)=1(10),第二個數字為 11(2)=3(10)
# 所以第二個數字 3 為第一個數字 1 的三倍,正確,輸出 accept

Sample Input 2

1 1
1 0
0 0
0 1

Sample Output 2

accept

# 以下為測資說明,只要輸出 accept 即可
# 測資說明: 第一個數字為 0011(2)=3(10),第二個數字為 1001(2)=9(10)
# 所以第二個數字 9 為第一個數字 3 的三倍,正確,輸出 accept

Sample Input 3

1 1
1 1
1 1
0 1

Sample Output 3

reject

# 以下為測資說明,只要輸出 reject 即可
# 測資說明: 第一個數字為 0111(2)=7(10),第二個數字為 1111(2)=15(10)
# 所以第二個數字 15 不是第一個數字 7 的三倍,錯誤,輸出 reject

Hints

你 "不能" 簡單的將所有位元讀取後,轉型成 10 進制的整數再進行判斷。因為最大的數字會來到 2 的 6e6 次方,是個天文數字。

也不能用整數的 list 來模擬數字的運算,因為你大概需要 24MB 的記憶體 (嚴重低估) 來儲存一個數字。

二進制的數字乘以 2 時,實際上是所有位元向 MSB 移動一位,也就是左移一位。3=2+1,乘上 3 實際上是... 請找到數字的規律。

附上本題讀取輸入至 End Of File 的程式碼:

try:
    while True:
        b1, b2 = map(int, input().split())

except EOFError:
    pass

在本地測試時,Windows 平台可以使用 ctrl+z 來發送 EOF 。
MacOS 和 Linux 平台可以使用 ctrl + d 來發送 EOF。

Problem Source

Subtasks

No. Testdata Range Score
1 0~9 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 10000 32768 65536 1
1 10000 32768 65536 1
2 10000 32768 65536 1
3 10000 32768 65536 1
4 10000 32768 65536 1
5 10000 32768 65536 1
6 10000 32768 65536 1
7 10000 32768 65536 1
8 10000 32768 65536 1
9 10000 32768 65536 1