# 109 學年度商業類學生技藝競賽
題目出處:[點擊](https://sci.me.ntnu.edu.tw/Contest/down?f_id=36344&c_Fileclass=2&ActionName=HistoryQuestionsList)
# pA. 找出最大和第二大的數字
```python=
for _ in range(int(input())):
l=[int(i) for i in input().split()]
l.sort(reverse=True)
print(*l[0:2])
```
# pB. 打印機
```python=
for _ in range(int(input())):
n=list(input())
a=''
b=''
for i in range(len(n)):
if n[i]=='4':
a+='3'
b+='1'
else:
a+=n[i]
b+='0'
print(a,int(b))
```
# pC. 時間計算
```python=
import datetime
for _ in range(int(input())):
d,m,y=[int(i) for i in input().split('/')]
a=datetime.date(y,m,d)
d,m,y=[int(i) for i in input().split('/')]
b=datetime.date(y,m,d)
print(a.year-b.year-((a.month,a.day)<(b.month,b.day)))
```
# pD. 數字相乘
```python=
for _ in range(int(input())):
n = int(input())
ans = []
i = 9
while i >= 2:
if not(n%i):
n //= i
ans.append("%d"%(i))
continue
i -= 1
if n == 1:
print("".join(ans[::-1]))
else:
print(-1)
```
# pE. 迴文
```python=
for _ in range(int(input())):
n=input()
while int(n)<4294967295:
if n==n[::-1]:
print(n)
break
else:
n=str(int(n)+int(n[::-1]))
```
# pF. 最大子數列問題
$$
dp[i]=max(l[i],dp[i-1]+l[i])
$$
```python=
for _ in range(int(input())):
l=[int(i) for i in input().split()]
dp=[l[0]]
for i in range(1,len(l)):
dp.append(max(l[i],dp[i-1]+l[i]))
print(max(dp))
```
# pG. 錄音帶
```python=
from bisect import bisect_right
while True:
try:
num = [int(i) for i in input().split()]
target, num = num[0], num[2::]
n = {0}
for i in num:
n.update([j+i for j in n])
if target in n:
print(target)
else:
n = list(n)
print(n[bisect_right(n, target)-1])
except EOFError:
break
```
# pH. 特殊郵件
```python=
from collections import defaultdict
def BFS(i):
head = 0
q = [i]
seen = set()
seen.add(i)
while head < len(q):
node = q[head]; head += 1
for j in d[node]:
if j not in seen:
q.append(j)
seen.add(j)
return len(seen)
for _ in range(int(input())):
n = int(input())
h = [0]*(n+1)
d = defaultdict(list)
for _ in range(n):
a, b = map(int, input().split())
d[a].append(b)
for i in range(1, n+1):
h[i] = BFS(i)
print(h.index(max(h)))
```