$6+9=15$ 看起來似乎是沒問題的。可是為什麼 $4+6=2$ 呢?

如你所見,Mofiz 在數位邏輯課中始終非常努力,然而在某次考試中 Mofiz 執行一個範圍為 32bit 的加法時,他在設計的部份犯了一些錯誤。經過了半小時後,他終於發現問題所在了!當他在執行二進位加法的過程中,原本進位時該補 1 到下一位卻沒有補,以致於進位動作沒有完全。就像下例一樣:

1
2
3
4
 4 = 00000000 00000000 00000000 00000100
+6 = 00000000 00000000 00000000 00000110
----------------------------------------
2 = 00000000 00000000 00000000 00000010

對 Mofiz 來說,能夠發現問題所在是件好事,可惜似乎有點太晚了。講師考慮到 Mofiz 上課的用心,決定再給 Mofiz 一次機會。這次 Mofiz 必須設計出一個有效率的程式,這個程式能夠將 2 個無正負號 10 進位的整數相加,並輸出兩者的和 (以 10 進位表示),而加法的運算方式必須像 Mofiz 剛剛的做法一樣,也就是進位時不補 1 到下一位。

閱讀全文 »

有些運算子 (operator) 是用來檢查兩個數值之間的關係,這種運算子稱為關係運算子 (relational operators)。 給你兩個數值你的工作就是要找出它們之間的關係是

  1. 第一個大於第二個
  2. 第二個小於第一個
  3. 兩個一樣大。

Input

輸入的第一列有一個整數代表共有多少組測試資料。

接下來每列有兩個整數 a 和 b ($|a|,|b| < 1000000001$)。

Output

對於每組測試資料,輸出 >, <=,代表該二數字的關係。

Sample Input

3
10 20
20 10
10 10

Sample Output

<
>
=

$N$ 個盒子 (編號從 $1$$N$)。所有盒子大小形狀都一樣。現在我們要根據以下的規則把盒子疊起來:

  1. 每個盒子之上只能直接放一個盒子。
  2. 編號較小的盒子不能放在編號較大的盒子上方。
  3. 給你每個盒子的重量以及能承載的重量。每個盒子上方的盒子總重量不能超過該盒子所能承載的重量。

根據以上的規則,請你寫一個程式找出最多能疊起多少個盒子。

Input

輸入含有多組測試資料。每組測試資料的第一列有一個正整數 $N$ ($1\leq{N}\leq{1000}$),接下來的 $N$ 列,每列有 2 個正整數 ($\leq{3000}$) 分別代表編號第 $1$ 到第 $N$ 個盒子的重量以及能承載的重量。

$n=0$ 時代表輸入結束。

Output

每組測試資料輸出一列,輸出最多能疊起多少個盒子。

Sample Input

5
19 15
7 13
5 7
6 8
1 2
2
10 10
10 10
0

Sample Output

4
2

給一個有 $n$ ($1\leq{n}\leq{76}$) 個節點的無向圖形 (圖形如下):

你的任務是:給你 $n$,請算出這個圖形有以下性質的節點子集合共有多少個。

  • 集合裡不能有兩個相鄰的點。例如圖形中有 $n=3$ 個節點,則集合 $\{1,2\}$ 是違法的,而集合 $\{1,3\}$ 是合法的。
  • 當這個集合能再加入任一節點,卻可以不和其它節點相鄰,則這個集合是違法的。例如圖形中有 $n=5$ 個節點,則集合 ${1,5}$ 是違法的,因為這個集合再加入節點 3 仍不和其它節點相鄰,而集合 $\{1,3,5\}$ 則是合法的。

所以,當圖形有 $n=5$ 個節點時,應該有 4 個合法的集合:$\{1,3,5\},\{2,4\},\{2,5\},\{1,4\}$.

Input

測試資料中有很多個測資,每個測資一列,每列包含一個數字 $n$$1\leq{n}\leq{76}$。請用 EOF 來判斷檔案結束。

Output

請輸出一列含有上述性質的子集合的數目。你可以假設答案不會超過 $2^{31}$

Sample Input

1
2
3
4
5
30

Sample Output

1
2
2
3
4
4410

當一個布林矩陣每一行的和與每一列的和都是偶數的時候,我們稱這種性質為等價。

例如,下面是一個 4x4 的一個等價短陣。

1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1

每一列的和分別是 2,0,4,2;而每一行的和分別是 2,2,2,2。

你的工作即是要寫個程式讀入矩陣且檢查他有沒有等價。如果沒有,你得檢查能不能在只改變一個位元的狀況下使他等價,如果不行,那這個矩陣就得歸類為損毀 (corrupt)。

Input

輸入包含一或數個測資。

每個測資的第一列是一個整數 n (n < 100),代表矩陣的大小;接下來的 n 列,每行有 n 個數字,即為矩陣。在矩陣中只會出現 0 及 1。當 n=0 時代表輸入結束。

Output

對於每一個矩陣請輸出一列。

如果該矩陣已經是等價的,請輸出 OK;如果經由改變第 i 列第 j 行的位元即可成為等價,請輸出 Change bit (i,j);否則請輸出 Corrupt

Sample Input

4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 1
0

Sample Output

OK
Change bit (2,3)
Corrupt

在非洲有一種非常特別的蜜蜂。每一年母蜂會生一隻公蜂,而公蜂會生一隻公蜂和一隻母蜂,然後死去。

現在,科學家在偶然中發現了一隻這種品種的母蜂,而且這是一隻「神奇」的母蜂,因為她永遠都不會死,而且每年都可以像其他正常的母蜂一樣生一隻公蜂。科學家想要知道,在 $N$ 年後會有多少隻蜜蜂。請寫一個程式幫他們算出在 $N$ 年後公蜂的數目以及所有蜜蜂的數目。

Input

輸入含有多組測試資料。每組測試資料一列,有 1 個正整數 $N$ ($N\geq{0}$)。

$N=-1$ 時代表輸入結束。請參考 Sample Input。

Output

對每一組測試資料輸出一列,第一個數字為 $N$ 年後公蜂的數目,第二個數字為 $N$ 年後所有蜜蜂的數目。

這2個數都不會超過 $2^{32}$

Sample Input

1
3
10
-1

Sample Output

1 2
4 7
143 232

給你一個範圍 a 到 b ,請你找出 a 與 b 之間所有奇數的和。

例如:範圍 [3, 9] 中所有奇數的和就是 3 + 5 + 7 + 9 = 24 。

Input

輸入的第一列有一個整數 $T$ ($1\leq{T}\leq{100}$),代表以下有多少組測試資料。

每組測試資料為兩列,包含兩個數 $a$$b$ ($0\leq{a}\leq{b}\leq{100}$)。

Output

每組測試資料輸出一列,內容為 $a$$b$ 間所有奇數的和。

Sample Input

2
1
5
3
5

Sample Output

Case 1: 9
Case 2: 8

為了縮短領救濟品的隊伍,NNGLRP決定了以下策略:每天所有來申請救濟品的人會被放在一個大圓圈,面朝裡面。選定一個人為編號 1 號,其他的就從那個人開始逆時針開始編號直到 N。一個官員一開始逆時針數,數 k 個申請者,然後另一個官員第 N 個始順時針方向數 m 個申請者,這兩個人就被送去再教育。如果兩個官員數的是同一個人,那個人則被送去從政,然後2個官員再在剩下的人裡面繼續選直到沒人剩下來,注意兩個被選中的人是同時走掉的,所以就有可能兩個官員選中一個人。

閱讀全文 »

階乘的數學表示式是 $N!$,代表從 1 乘到 N 的結果,如下:

$$1! = 1 \\ N! = N * (N-1)!$$

階乘的成長速度相當驚人,$5!=120, 10!=3,628,800$,而表示階乘的其中一種方法是去紀錄每一個質因數出現的頻率。例如 825 這個值,可以用數字序列 (0 1 2 0 1), 來表示 0 個 2、1 個 3、2 個 5、0 個 7、1 個 11。

所以數字序列中的每個元素是代表連續出現的質因數,而上面的數值,代表該質因數出現的頻率。

寫一個程式讀入一個數字 N ($2\leq{N}\leq{100}$),算出階乘結果,以之前的方式來表示這個階乘。

閱讀全文 »

要用大小為 $2\times{1}$ 的磁磚貼滿面積 $3\times{n}$ 的矩形共有多少種方法?以下是 $n=12$ 的一種貼法。

Input

輸入含有多組測試資料。

每組測試資料一列有一個整數 $n$ ($0\leq{n}\leq{30}$)。

$n=-1$ 代表輸入結束。請參考 Sample Input。

Output

對每一組測試資料輸出一列,輸出貼磁磚的方法共有多少種。

Sample Input

2
3
8
12
-1

Sample Output

3
0
153
2131