網際網路程式設計全國大賽

賽前模擬題目


題目(2) 十二道光環
執行檔TWELVE.EXE
輸入檔TWELVE.IN
輸出檔TWELVE.OUT
執行時間限制30 秒

考慮置放在青天白日徽上的12道光環,每一道光環形如正三角形,並於其上放置數字,假設這些數字的擺置是從第一道光環的第一列到第十二道光環的第一列,之後到第一道光環的第二列…等,其排置如圖所示。

試寫一個程式,反覆處理如下的動作:

  1. 輸入一個數時,則輸出這個數是在第幾個光環、光環內的第幾個列、以及列內的第幾個數。
  2. 輸入三個數時,則判斷這三個數是否形成一個三角形(三角形的定義是三個數在不同的光環上)。


圖(一) 12道光環位置圖

輸入檔說明

輸入檔中可以有多個測試資料。每個測試資料的第一行只有一個數字,可能為 1 或 3,表示第二行有多少個輸入數字。第二行中可能有一個或三個輸入數字,數字間以一個以上的空格分開。當第一行的數字為 0 時,表示輸入檔結束。輸入的位置,其數字範圍從 1 到 1,000,000,000。

輸出檔說明

每一行包含一個測試資料的結果。如果是第一種測試資料(輸入一個數字),則把數字所在的位置輸出(如題目中所述,有三個數字),數字間以一個以上空格分開。若是第二種測試資料(輸入三個數字),則若形成一個三角形,則輸出 True,否則輸出 False。

範例

TWELVE.IN
1
39
3
35 2 38
3
1 36 14
0
TWELVE.OUT
1 3 3
True
False