
Input
Output
Sample Input
5 #-##----# -----#- ---#- -#- - 4 #-#-#-- #---# ##- - 0
Sample Output
Triangle #1 The largest triangle area is 9. Triangle #2 The largest triangle area is 4.
原文出處
5 #-##----# -----#- ---#- -#- - 4 #-#-#-- #---# ##- - 0
Triangle #1 The largest triangle area is 9. Triangle #2 The largest triangle area is 4.
4 5 0
3 8
1 Brazil -----+ +-- ? --+ 2 Chile ------+ | +-- ? --+ 3 Nigeria ----+ | | +-- ? --+ | 4 Denmark ----+ | +-- ? --+ 5 Holland ----+ | | +-- ? --+ | | 6 Yugoslavia -+ | | | +-- ? --+ | 7 Argentina --+ | | +-- ? --+ | 8 England ----+ | +-- 世界杯冠軍 9 Italy ------+ | +-- ? --+ | 10 Norway -----+ | | +-- ? --+ | 11 France -----+ | | | +-- ? --+ | | 12 Paraguay ---+ | | +-- ? --+ 13 Germany ----+ | +-- ? --+ | 14 Mexico -----+ | | +-- ? --+ 15 Romania ----+ | +-- ? --+ 16 Croatia ----+對於所有A vs. B 的對戰組合中,給定A贏B的機率,可以算出每一隊贏得世界盃冠軍的機率,例如德國贏墨西哥的機率為80%,羅馬尼亞贏克羅埃西亞的機率為60%,德國贏羅馬尼亞的機率為70%,德國贏克羅埃西亞的機率為90%,則德國贏得半準決賽的機率為 80% * (70% * 60% + 90% * 40%) = 62.4%。
Brazil Chile Nigeria Denmark Holland Yugoslavia Argentina England Italy Norway France Paraguay Germany Mexico Romania Croatia 50 65 50 60 55 50 50 65 45 55 40 55 40 55 50 50 35 50 35 45 40 35 35 50 30 40 25 40 25 40 35 35 50 65 50 60 55 50 50 65 45 55 40 55 40 55 50 50 40 55 40 50 45 40 40 55 35 45 30 45 30 45 40 40 45 60 45 55 50 45 45 60 40 50 35 50 35 50 45 45 50 65 50 60 55 50 50 65 45 55 40 55 40 55 50 50 50 65 50 60 55 50 50 65 45 55 40 55 40 55 50 50 35 50 35 45 40 35 35 50 30 40 25 40 25 40 35 35 55 70 55 65 60 55 55 70 50 60 45 60 45 60 55 55 45 60 45 55 50 45 45 60 40 50 35 50 35 50 45 45 60 75 60 70 65 60 60 75 55 65 50 65 50 65 60 60 45 60 45 55 50 45 45 60 40 50 35 50 35 50 45 45 60 75 60 70 65 60 60 75 55 65 50 65 50 65 60 60 45 60 45 55 50 45 45 60 40 50 35 50 35 50 45 45 50 65 50 60 55 50 50 65 45 55 40 55 40 55 50 50 50 65 50 60 55 50 50 65 45 55 40 55 40 55 50 50
Brazil p=8.54% Chile p=1.60% Nigeria p=8.06% Denmark p=2.79% Holland p=4.51% Yugoslavia p=7.50% Argentina p=8.38% England p=1.56% Italy p=9.05% Norway p=3.23% France p=13.72% Paraguay p=3.09% Germany p=13.79% Mexico p=3.11% Romania p=5.53% Croatia p=5.53%
o o -- o o \ / \ / o -- o o -- o / \ / \ o o -- o o -- o \ / o -- o
3 2 0 1 1 2 15 16 0 2 1 2 2 3 3 4 3 5 4 6 5 7 6 8 7 8 7 9 8 10 9 11 10 12 11 12 10 13 12 14 0 0
2 12
die einkommen der landwirte sind fuer die abgeordneten ein buch mit sieben siegeln um dem abzuhelfen muessen dringend alle subventionsgesetze verbessert werden # die steuern auf vermoegen und einkommen sollten nach meinung der abgeordneten nachdruecklich erhoben werden dazu muessen die kontrollbefugnisse der finanzbehoerden dringend verbessert werden #
die einkommen der abgeordneten muessen dringend verbessert werden
原文出處
3 3 -1 6 10 4 -5 4 -3 4 4 -4 4 -5 4 -2 -3 -4
The nicest part of route 1 is between stops 2 and 3 The nicest part of route 2 is between stops 3 and 9 Route 3 has no nice parts
原文出處
2 3 3 0 1 1000 1 2 15 2 1 -42 4 4 0 1 10 1 2 20 2 3 30 3 0 -60
possible not possible
投擲一枚公平的硬幣使其連續出現n次正面的機率為 2-n
2^-
n = x.xxxE-
y
其中x為0~9的整數(譯注:限制 x.xxx >= 1 才會與y有唯一解,故小數點前面的整數不可為零),y為整數。
4
6
8271
6000
1
2^-6 = 1.563E-2
2^-8271 = 1.517E-2490
2^-6000 = 6.607E-1807
2^-1 = 5.000E-1
有一種桌上型遊戲叫Risk,玩家們要彼此攻城略地征服全世界,遊戲桌上有一個世界地圖,地圖上有許多國家。遊戲進行中,玩家的軍隊會駐紮在某一個國家,該軍隊只能攻擊鄰近的國家,隨著遊戲的進行不斷侵略與擴張,軍隊能在已被征服的國家間自由地移動。
隨著遊戲的進行,玩家們若需要調度兵力由一處移到另一處,就必須將路途上所有國家一一征服,通常玩家都會優先選擇介於兩地之間的國家,這樣能使需要侵略的國家數目降到最低。給定一張地圖上20個國家的相對位置關係圖,你必須寫一個程式計算從一地到另一地最少需要征服幾個國家,你不需要列出侵略的順序,只需要計算侵略國家的總數即可,例如,若起點位置與終點位置相鄰,則你的程式要輸出1。
第一組測試資料的位置關係如下圖所示:
輸入檔案會有多組測試資料,你的程式必須持續讀入直到遇見EOF為止。所有給定的國家之間必定存在最少一條路徑。
接下來的N列請輸出由起點到終點最少需征服的國家數目,其格式請參考Sample Output,第一、二個字元為起始國家,第七、八個字元為終點國家,兩國的最小移動距離請在第11個字元處靠左對齊。每組測試資料之後請輸出一列空行。
1 3
2 3 4
3 4 5 6
1 6
1 7
2 12 13
1 8
2 9 10
1 11
1 11
2 12 17
1 14
2 14 15
2 15 16
1 16
1 19
2 18 19
1 20
1 20
5
1 20
2 9
19 5
18 19
16 20
4 2 3 5 6
1 4
3 4 10 5
5 10 11 12 19 18
2 6 7
2 7 8
2 9 10
1 9
1 10
2 11 14
3 12 13 14
3 18 17 13
4 14 15 16 17
0
0
0
2 18 20
1 19
1 20
6
1 20
8 20
15 16
11 4
7 13
2 16
Test Set #1
1 to 20: 7
2 to 9: 5
19 to 5: 6
18 to 19: 2
16 to 20: 2
Test Set #2
1 to 20: 4
8 to 20: 5
15 to 16: 2
11 to 4: 1
7 to 13: 3
2 to 16: 4
原文出處
寫一個能完全相容於不同作業系統、不同系統版本與硬體平台的程式是一件困難的事,其中一個困難點在於不同的硬體製造商會選擇不同的方式來儲存記憶體中的整數資料,由於不同的平台有不同的表示方式,所以平台間的資料傳輸必須考慮到彼此間的差異並做出調整。
幸運的是,目前硬體製造商之間普遍存在一種共識,皆把記憶體以8個位元(8-bit)為一個位元組(byte)的方式定址,但是當整數資料長度超過8-bits時(例如2 bytes, 4 bytes, 8 bytes),就沒有固定的定址方式,這衍生出兩種不相容的儲存格式,第一種整數的儲存方式是把最低的字元組(least significant byte)定址在較底的記憶體位置,並把最高的字元組(most significant byte)定址在較高的記憶體位置,而另一種方式則剛好相反,最低的字元組(least significant byte)定址在較高的記憶體位置,並把最高的字元組(most significant byte)定址在較低的記憶體位置。這兩種方式分別被稱為小頭端與大頭端(Little Endian, Big Endian)。另外整數的儲存還有另一種普遍的做法是以「二進制補碼(two's complement)」表示,而本題就是用這種方式。
當整數資料分別在以不同編碼方式的機器(Little Endian and Big Endian)之間共享時,就必須把資料的各個位元組反轉,當所有位元組都被反轉之後,不同編碼方式的資料就能以正確的方式解讀。本題的目的是要寫一個程式從輸入中取得一連串的整數,並把所有整數以另一種編碼方式表示出來。
輸入會有許多整數,每個整數一列,並以EOF表示檔案結束。所有整數皆能以32-bit的有號整數表示(32-bit signed integer),也就是說其值介於-2147483648 到 2147483647之間。
請將輸出以每個整數一列的方式印出來,輸出的格式請參考Sample Output。
123456789
-123456789
1
16777216
20034556
123456789 converts to 365779719
-123456789 converts to -349002504
1 converts to 16777216
16777216 converts to 1
20034556 converts to -55365375
原文出處
當一數值以十進位表示時,第k位數表示10k(十進制由右至左編碼,最低有效位數為第0位)。例如:
當一數值以二進制表示時,第k位數表示2k。例如:
當一數值以"斜偏二進制(Skew Binary)"表示時,第k位數表示 2k+1 - 1。除了最低非零的位數可能等於2之外,所有數值皆為0或1。例如:
前十個斜偏二進制(skew binary)的數值為0, 1, 2, 10, 11, 12, 20, 100, 101, 102。(skew binary在某些領域特別有用,因為它使一數值加上1之後,最多只進位一次,但這方面的議題與本題目無關)
10120
200000000000000000000000000000
10
1000000000000000000000000000000
11
100
11111000001110000101101102000
0
44
2147483646
3
2147483647
4
7
1041110737
原文出處