## A
```python=
A = input()
print('Step1: {}'.format(int(A[1])+int(A[3])))
print('Step2: {}'.format(int(A[2])+int(A[0])))
if int(A[1])+int(A[3]) > int(A[2])+int(A[0]):
print("Step1 > Step2")
else:
print("Step1 <= Step2")
```
## B
```python=
#要求使用者輸入存款的本金
principal = float(input(""))
# 要求使用者輸入年利率
interest_rate = float(input(""))
# 要求使用者輸入存款期限
deposit_period = float(input(""))
# 計算複利利息
final_amount = principal * ((1 + interest_rate/100) ** deposit_period)
# 輸出最終的本利和
print(final_amount)
```
## C
```python=
# 輸入卡片類型
card_type = input()
# 輸入卡片有效期
expiration_date = input()
# 獲取當前日期
current_date = '20230619'
# 判斷是否允許進入
if card_type == "A" and expiration_date <= current_date:
print("Allow")
elif card_type == "B" and expiration_date >= current_date:
print("Allow")
else:
print("Not Allow")
```
## D
```python=
# 要求使用者輸入學生的分數
score = int(input(""))
# 根據評估標準判斷成績等級
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "E"
# 輸出成績等級
print( grade)
```
## E
```python=
# 要求使用者輸入初始狀態
current_state = "A"
while True:
# 要求使用者輸入動作
action = input("")
if action == "0":
break
if current_state == "A":
if action == "1":
current_state = "B"
print("update to B")
elif action == "2":
current_state = "C"
print("update to C")
elif current_state == "B":
if action == "1":
current_state = "C"
print("update to C")
elif action == "2":
current_state = "A"
print("update to A")
elif current_state == "C":
if action == "1":
current_state = "A"
print("update to A")
elif action == "2":
current_state = "B"
print("update to B")
print(f"final is {current_state}")
```
## G
```python=
# 要求使用者輸入正整數
num = int(input())
# 初始化總和變數
total = 0
# 使用while迴圈計算每個位數的總和
while num > 0:
digit = num % 10 # 獲取最右邊的位數
total += digit # 加到總和中
num //= 10 # 刪除最右邊的位數
# 輸出總和的值
print( total)
```
## H
```python=
# 初始化奇數總和
odd_sum = 0
# 迴圈計算奇數總和
for num in range(1, 51, 2): # 從1到50的奇數,步長為2
if num % 7 == 0: # 能被7整除的數字跳過
continue
odd_sum += num #輸出結果
print( odd_sum)
```
## I
```python=
# 輸入上限值 n
n = int(input())
# 初始化奇數總和和偶數總和
odd_sum = 0
even_sum = 0
# 迴圈計算奇數和偶數總和
for num in range(1, n + 1):
if num > 100:
break
if num % 7 == 0:
continue
if num % 2 == 0: # 偶數
even_sum += num
else: # 奇數
odd_sum += num
# 輸出結果
print(odd_sum)
print(even_sum)
```
## K
```python=
sentence = input().lower()
keyword = input().lower()
count = 0
start_index = 0
while True:
index = sentence.find(keyword, start_index)
if index == -1:
break
count += 1
start_index = index + 1
print(count)
```
## L
```python=
# 定義函式執行運算
def calculate(num1, num2, operator):
if not num1.isdigit() or not num2.isdigit():
result = "Undefined"
else:
num1 = float(num1)
num2 = float(num2)
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
result = num1 / num2
else:
result = "Undefined"
return result
# 要求使用者輸入數字和運算符
num1 = input("")
num2 = input("")
operator = input("")
# 呼叫函式執行運算
result = calculate(num1, num2, operator)
print(result)
```
## M
```python=
def cmp(item):
return int(item[1])
n = int(input())
lst = []
for i in range(n):
lst.append(input().split())
lst.sort(key=cmp,reverse=True)
print(lst)
```
## N
```python=
car = []
while True:
user = input().split()
if len(user)==1 and user[0]=="-1":
break
for i in range(int(user[0])):
if len(car)==0:
break
car.pop(0)
for i in range(1,len(user)):
if len(car)==3:
break
car.append(user[i])
print(f"now is {car}")
print(f"final is {car}")
```
## O
```python=
def hanoi(n, source, target, auxiliary):
if n > 0:
# 將 n-1 個圓盤從起始柱移動到輔助柱
hanoi(n - 1, source, auxiliary, target)
# 移動第 n 個圓盤到目標柱
print(f"disk {n} from pillar {source} to pillar {target}")
# 將 n-1 個圓盤從輔助柱移動到目標柱
hanoi(n - 1, auxiliary, target, source)
# 計算河內塔遊戲次數
n = int(input())
hanoi(n, "pillar 1", "pillar 3", "pillar 2")
# 計算次數公式:次數 = 2^n - 1
total_moves = 2 ** n - 1
print(total_moves)
```
## P
```python=
stack = []
n = int(input())
for i in range(n):
ans = 0
user_input = input()
for k in range(len(user_input)):
if user_input[k]==".":
continue
stack.append(user_input[k])
while len(stack)>=2 and stack[-1]=="q" and stack[-2]=="p":
ans+=1
stack.pop(-1)
stack.pop(-1)
print(ans)
stack.clear()
```
## Q
```python=
def preorder(tree, index=1):
if len(tree) < index:
return
print(tree[index - 1], end='')
preorder(tree, index * 2)
preorder(tree, index * 2 + 1)
def postorder(tree, index=1):
if len(tree) < index:
return
postorder(tree, index * 2)
postorder(tree, index * 2 + 1)
print(tree[index - 1], end='')
def inorder(tree, index=1):
if len(tree) < index:
return
inorder(tree, index * 2)
print(tree[index - 1], end='')
inorder(tree, index * 2 + 1)
tree = [4, 2, 6, 1, 3, 5, 7]
print("Preorder Traversal:")
preorder(tree)
print()
print("Postorder Traversal:")
postorder(tree)
print()
print("Inorder Traversal:")
inorder(tree)
```
## R
```python=
n = int(input())
data = list(map(int,input().split()))
B = [0 for i in range(n)]
B[0] = data[0]
for i in range(n):
B[i]=B[i-1]+data[i]
print(' '.join(list(map(str,B))))
```
## S
```python=
nums = list(map(int,input().split()))
target = int(input())
n = len(nums)
for i in range(n - 1):
for j in range(i + 1, n):
if nums[i] + nums[j] == target:
print(i,j)
```
## T
```python=
queue = [""]
chars = ['A', 'B', 'C']
while True:
next_queue = []
update = False
for i in range(3):
for k in range(len(queue)):
if chars[i] not in queue[k]:
next_queue.append(queue[k]+chars[i])
update = True
if not update:
break
queue = next_queue
queue.sort()
print(queue)
```
## U
```python=
chars = ['A', 'B', 'C ','D','E']
def find_combinations(chars):
combinations = []
n = len(chars)
for i in range(n):
for j in range(i+1, n):
for k in range(j+1, n):
combination = chars[i].strip() + chars[j].strip() + chars[k].strip()
combinations.append(combination)
return combinations
result = find_combinations(chars)
print(result)
```
## W
```cpp=
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
int main() {
int n, answer = 0;
cin >> n;
pair<int, int> data[n];
for (int i = 0; i < n; i++)
cin >> data[i].x >> data[i].y;
sort(data, data + n);
pair<int, int> now = data[0];
for (int i = 1; i < n; i++) {
//cout<<data[i].x<<" "<<data[i].y<<endl;
if (data[i].x <= now.y && data[i].x >= now.x)
{
now.y = max(data[i].y, now.y);
if(i==n-1)
answer += (now.y - now.x);
}
else {
answer += (now.y - now.x), now = data[i];
if(i==n-1)
answer += (now.y - now.x);
}
//cout<<now.x<<" "<<now.y<<endl<<endl;
}
if(n==1)
answer += (now.y - now.x);
cout<<answer;
}
```
## X
```python=
#include <bits/stdc++.h>
using namespace std;
int data[514][514];
int dir[4][2]={{0,-1},{0,1},{-1,0},{1,0}};
int n,w,s,e,area;
void update(int x,int y)
{
n = min(n,y-1);
e = max(e,x-1);
s = max(s,y-1);
w = min(w,x-1);
}
void count(int x,int y)
{
if(data[x][y]==1)
{
update(x,y);
data[x][y]=0;
area++;
for(int i=0;i<4;i++)
count(x+dir[i][0],y+dir[i][1]);
}
}
int main() {
int x, y;
cin >> x >> y;
memset(data,0,sizeof(data));
for (int i = 1; i <= y; i++) {
for (int j = 1; j <= x; j++) {
cin>>data[j][i];
}
}
for (int i = 0; i < y; i++) {
for (int j = 0; j < x; j++) {
if(data[j][i]==1)
{
n=w=9999;
e=s=-1;
area=0;
count(j,i);
cout<<w<<" "<<n<<" "<<e<<" "<<s<<" "<<area<<endl;
}
}
}
}
```
## Y
```python=
from re import T
n=int(input())
f=[int(x) for x in input().split()]
visit=[False]*n
n_group=0
for i in range(n):
if visit[i]:
continue
n_group+=1
visit[i]=True
p=f[i]
while p!=i:
visit[p]=True
p=f[p]
print(n_group)
```
## Z
```python=
#include <bits/stdc++.h>
#define max_size 101
using namespace std;
map<char, int> f;
void build() {
f['A'] = 10;
f['B'] = 11;
f['C'] = 12;
f['D'] = 13;
f['E'] = 14;
f['F'] = 15;
f['G'] = 16;
f['H'] = 17;
f['I'] = 34;
f['J'] = 18;
f['K'] = 19;
f['L'] = 20;
f['M'] = 21;
f['N'] = 22;
f['O'] = 35;
f['P'] = 23;
f['Q'] = 24;
f['R'] = 25;
f['S'] = 26;
f['T'] = 27;
f['U'] = 28;
f['V'] = 29;
f['W'] = 32;
f['X'] = 30;
f['Y'] = 31;
f['Z'] = 33;
}
void check(string data) {
int answer = 0;
for (int i = 0; i < data.length(); i++) {
if (i == 0) {
answer += (f[data[i]] / 10) * 1 + (f[data[i]] % 10) * 9;
} else {
answer += ((data[i] - '0') * (9 - i));
if(i==9)
answer += (data[i] - '0');
//cout<< (data[i] - '0')<<" "<<9-i<<endl;
}
//cout<<answer<<endl;
}
if(answer%10==0)
cout<<data<<" ";
}
int main() {
build();
check("A193456789");
int t;
cin >> t;
while (t--) {
string index;
string data;
cin >> index >> data;
for(int i=0;i<3-index.length();i++)
cout<<0;
cout<<index<<" ";
for (int i = 0; i < data.length(); i++) {
if (data[i] == '*') {
if(i==0)
{
for(char t = 'A';t<='Z';t++)
data[i]=t,check(data);
}else
{
for(char t='0';t<='9';t++)
data[i]=t,check(data);
}
}
}
cout<<endl;
}
}
```