本題請你做四則運算,計算某數 n 乘上 567 後除以 9,再加上 7492,再乘上 235,再除以 47,最後減掉 498,請問其值的十位數值是多少?

Input

第一列的整數 t 表示測試資料的組數,每組測試資料有一個整數 n ($-1000\leq{n}\leq{1000}$),一筆資料一列。

Output

請依要求輸出每筆資料的結果。

Sample Input

2
637
-120

Sample Output

1
3

Extel 推出最新型的電腦「X9091 字串處理機」,主要用途在於密碼學上的應用。該電腦可藉由編程由一組輸入字串產生另一組字串,該電腦用的是精簡指令集晶片 (RSIC),只有三個指令:

  1. 刪除 (D) 特定位置上的字元。
  2. 插入 (I) 一個字元到特定位置。
  3. 改變 (C) 特定位置上的字元。

電腦程式是由機器語言所寫成,且每個指令為固定長度,格式為 ZXddZ 表示刪除 (D)、插入 (i)、改變(C) 其中之一,X 表示字元,dd 表示兩位數字。程式的結束以一個特殊的結束指令 E 來表示。

以一個例子來說明,若輸入字串為 abcde,我們希望藉由字串的運算得到 bcgfe,以下是一個比較簡單的運算方式:

指令 字串 備註
abcde
Da01 bcde % a 是必要的
Cg03 bcge
If04 bcgfe
E bcgef % 程式結束

寫一個程式讀入兩組字串 (輸入字串與目標字串),並找到由輸入字串轉換成目標字串最少所需的指令總數,若有多種可能的解法,只要輸出任一種就可以了。

Input and Output

輸入有許多列,每列有兩個字串,並以一個空白字元分隔。字串長度不會超過 20 個小寫字元,以 # 表示輸入結束。

Sample input

abcde bcgfe
#

Sample output

Da01Cg03If04E

威廉博士是一位著名的植物心理學家,他發明了一種新的植物分類法,這是個複雜的分類法,在分類之前必須先對每顆樹定義三個一組的參數(每個參數值在[0, 255]的範圍),因此每顆樹可被視為三維空間內的一點。基於自然的生長法則,測量大樣本數量的樹木通常都會均勻地分佈在整個空間。博士發現在空間內相鄰的樹木之間有很高的相似性,為了要驗證這項假設,他必須統計每顆樹與其最靠近的樹木的距離,並依固定的距離組距做成直方圖。

請寫一個程式最多可處理5000顆樹,並決定每一顆樹與其最接近的樹的距離小於1的共有幾顆,大於等於1且小於2的有幾顆,以此類推,直到統計出大於等於9且小於10的有幾顆。因此,假如 di 定義為第 i 顆樹與其最靠近的樹的距離,且 j<= di < k (其中 k = j+1),則這顆樹就在直方圖 j 的那一組的數量加1(最小一組為第0組)。例如,若共有兩顆距離為1.414單位的樹,則直方圖每組的長度為:0, 2, 0, 0, 0, 0, 0, 0, 0, 0。

閱讀全文 »

放石頭遊戲(The game of Spot)在一塊 NxN 的板子上進行,如下圖為N=4的板子。遊戲的玩法是兩個玩家輪流放一塊石頭在空的格子上,或是可以從板子上拿一塊石頭起來,遊戲的進行中可以發現,板子上 石頭的佈局會不斷變化,當一玩家排出已重複出現過的佈局時,他就算輸了這一局(一種佈局如果將之旋轉90度、180度、270度亦視為相同的佈局)。若在 2N步內未出現過相同的佈局就算和局。

請參考下列幾種佈局:

若 出現過第一種佈局,則再出現2、3、4種佈局即結束比賽(還有另一種能結束比賽的佈局未畫出),注意,第5種佈局並不能算是相同的佈局。

閱讀全文 »

某國政府為了降低申請助學貸款的意願,設計了一套費時而又冗長的請款流程,每位申請的學生會收到一張提款卡,記錄目前已提領的金額,一開始已提領金額當然為零,且每年的提領上限為 $\$ 40$。詭異的是,領款時間只限該學生生日後的第一個銀行工作日,所以通常一天最多只有 25 個學生會來領錢。

學生必須拿著提款卡到特定的提款機領錢,這種提款機被設計成有極佳的安全性,它有兩層金庫,安全性較高的內層金庫有許多 $\$1$ 元硬幣,而安全性較低的外層金庫則負責儲放少量的 $\$1$ 元硬幣供學生直接提領。為了降低被搶所造成的損失,只有當外層金庫的硬幣用完的時候,才會由系統自動把硬幣由內層移到外層。每天一開始外層金庫會是空的,且馬上會有 $\$1$ 元硬幣由內層移往外層,之後當外層金庫的硬幣被領完的時候,由內層移往外層的硬幣會增加到 $\$2$,下次再領完則再增加到 $\$3$ … 以此類推,直到到達某一個最大值 k 為止,下次移往外層的金額又會由 $\$1$ 開始累加。

每位學生排隊領 $\$40$,領錢時會插入自已的提款卡,提款卡會記錄已提領的總金額。每次領錢最多只能領到外層金庫內的硬幣金額,若學生總提領金額未到達 $\$$40,則他會拿回他的提款卡到後面重新排隊,當然,此時外庫金庫的金額為零,系統會馬上補上一筆錢到外層金庫。若外層金庫的金額加學生已提領總額大於 $\$$40,則系統只會發出剛好總額達到 $\$$40 的錢給學生,剩下在外層金庫的錢會留下來給下一位學生提領。

請寫程式處理兩個整數為一組的資料,N表示學生數($1 \le N \le 25$),k表示提款機硬幣由內移往外層的最大限制($1 \le k \le 40$),請依序輸出學生領滿 $\$40$ 後離開的次序。

閱讀全文 »

Background

由輸入資料產生出肯定或否定(yes or no)兩種答案的問題被稱為「判定性問題」(decision problems)。一個典型的判定性問題是NP-完備性問題(NP-complete problems),這種問題並無法用一般通用而有效率的方法處理。有些問題與判定性問題一樣單純,不過要試著列舉出所有肯定的答案就很困難了(或至少會花很多時間)。

這問題關於車輛在一個僅含單向道路的城市中,如何決定所有可能路徑的總數。

The Problem

給定城市中所有由道路連接的交叉點,你必須寫一個程式決定每個交叉點之間所有可能路徑的總數,一條路徑是由一節點到另一節點之間所依序經過的道路集合。

城市內的點由 0 開始被賦予編號,一條單向道路會由兩個節點來指定,例如 $ j \; k $ 表示由節點 j 到節點 k 的單向道路,注意,雙向道路可藉由定義兩條對向的道路來處理:$ j \; k $ 與 $ k \; j $ 。

考慮一個有四個節點,並以以下四條單向道路所連結的城市:

0  1
0  2
1  2
2  3

由 0 到 1 之間共有 1 條可能的路徑,由 0 到 2 之間共有 2 條可能的路徑($0\rightarrow 1\rightarrow 2$ 及 $0 \rightarrow 2$ ),由 0 到 3 有 2 條路徑,1 到 2 有 1 條,1到 3 有 1 條,2 到 3 有 1 條。
兩點之間的路徑可能存在有無限多條,例如上例中再增加一條由 3 到 2 的路徑,則由 0 到 2 的路徑選擇會變的有無限多條,因為可藉由 2 3 之間來來回回來增加路徑總數,因此路徑 $0\rightarrow 2\rightarrow 3\rightarrow 2\rightarrow 3\rightarrow 2$ 與路徑 $0\rightarrow 2\rightarrow 3\rightarrow 2$ 是不同的。

閱讀全文 »

給定一圖(V, E),V為節點集合,E為邊的集合,並指定一組有序的節點(V內的所有節點),則一個節點N的bandwidth定義為所有與該節點N相鄰的節點在這一組有序的集合裡面,與該節點N之距離之最大值,而一組有序節點集合O的bandwidth則定義為所有節點的bandwidth之最大值。以下圖為例:

我們隨便把這八個節點作排序,選其中兩組排序如下:

左圖中每個節點的bandwidth由左至右分別為:6, 6, 1, 4, 1, 1, 6, 6,取最大值得到該序列的bandwidth為6,同理,右圖中每個節點的bandwidth由左至右分別為:5, 3, 1, 4, 3, 5, 1, 4,取最大值得到該序列的bandwidth為5。

請寫一個程式,找出一組可能的序列,使得該序列之bandwidth最小。

閱讀全文 »

給你一組標題字串,並告訴你那些是相對不重要的字,請你寫一個程式找出標題字串中所有關鍵字(Key Word In Context),並依照關鍵字的字典順序依序列出。

關鍵字是除了所有不重要的字以外的字,而我們會給你那些不重要的字。

例如,不重要的字若為:``the, of, and, as, a’’,且有四組標題列:

Descent of Man
The Ascent of Man
The Old Man and The Sea
A Portrait of The Artist As a Young Man

而我們需要你依字典順序找出所有關鍵字後,把整個標題列出,並把關鍵字改為大寫:

                      a portrait of the ARTIST as a young man
                              the ASCENT of man
                                  DESCENT of man
                       descent of MAN
                    the ascent of MAN
                          the old MAN and the sea
a portrait of the artist as a young MAN
                              the OLD man and the sea
                                a PORTRAIT of the artist as a young man
              the old man and the SEA
    a portrait of the artist as a YOUNG man
閱讀全文 »

國防部的軍事武器承包商剛完成一種新式飛彈防禦系統的測試工作,該系統稱為 CATCHER,可以攔截朝我方發射過來的飛彈,該系統非常強大,有極佳的機動性及自我防禦能力,但它有一個缺點:雖然它能攔截的飛彈高度沒有上限,但是能攔截的飛彈高度只能比上一次攔截的高度更低或相等,它沒有足夠的動力攔截更高的飛彈。

承包商所做的電腦模擬測試相當簡單,僅僅只做高度測試,也就是每隔一段時間就會有一顆欲攔截的飛彈,並顯示該飛彈可以被攔截到的高度,所有飛彈都是循序的。

測試報告中只會循序顯示所模擬的飛彈高度,及所有這些飛彈中可以被 CATCHER 攔截到的總數。

現在國防部需要驗證承包商所做的測試報告的正確性,你必須幫忙寫一個程式循序讀入多組飛彈高度,並計算 CATCHER 系統最多可攔截的飛彈總數,請注意到 CATCHER 系統本身的限制,當他選擇攔截某一顆飛彈之後,再也不能攔截更高的飛彈了。

Input

輸入包含多組測試資料,每組資料會有多非負整數,其值介於 0 ~ 32767 之間,用來表示飛彈的高度,測試資料的最後以 -1 表示該組資料結束,並非表示飛彈的高度。如果該組測試資料的第一個數值為 -1,表示測試資料結束。

Output

請輸出每組測試資料的編號 (Test #1Test #2、…),及在該組資料下 CATCHER 系統所能攔截到的最大飛彈總數,輸出的格式如下所示。並請注意每組輸出資料之間請以空行隔開。

注意:每組測試資料的飛彈總數並沒有限制,所以一個效率不佳的演算法可能無法在時限內完成問題。

Sample Input

389
207
155
300
299
170
158
65
-1
23
34
21
-1
-1

Sample Output

Test #1:
maximum possible interceptions: 6

Test #2:
maximum possible interceptions: 2

如果我們要用常見的長度為高度兩倍的磚塊建一道磚牆,並且牆的高度為兩個單位,根據牆的長度,我們可以建出不同數量的花樣。從圖一我們可以看出:

  • 寛度為 1 單位的牆只有一種花樣—就是讓磚塊直立。
  • 長度為 2 的牆有 2 種花樣—兩個平躺的磚磈疊在一起以及兩個直立的磚塊併在一起。
  • 長度為 3 的牆有三種花樣。

長度為 4 的牆你可以找出幾種花樣?那長度為 5 的牆呢?

你必須寫一個程式計算當牆的長度給定之後,決定共有多少種排列方式。

Input

你的程式會從輸入中讀取一連串的正整數,每個正整數一列表示牆的長度,最大值為 50,並以 0 表示輸入結束。

Output

對應輸入中每列牆的長度,請輸出共有幾種排列方式。

Sample Input

1
2
3
0

Sample Output

1
2
3