第一次用python写codeforces
A.
输入方式,input()直接输入字符串,还有大小写转换函数lower(),upper()
import os
T=int(input())
for i in range(T):
A=input()
A_low=A.lower()
if A_low=="yes":
print("YES")
else:
print("NO")
B.
{}(dict)可当map用
import os
T=int(input())
for i in range(T):
n=int(input())
s=input()
mp={}
sum=0
for si in s:
if(mp.get(si)==None):
mp[si]=1
sum+=2
else:
mp[si]+=1
sum+=1
print(sum)
用counter函数也是一样的
import os
import collections
T=int(input())
for i in range(T):
n=int(input())
s=input()
cnt=collections.Counter(s)
sum=0
for key,val in cnt.items():
sum+=val+1
print(sum)
C.
学习list(map(int,input().split()))用法即可
参考链接
import os
import collections
import math
import sys
T = int(input())
for _ in range(T):
n = int(input())
# int在这里是函数,把输入的东西int化
a = list(map(int, input().split()))
for i in range(n):
B = input().split()
for j in range(int(B[0])):
if B[1][j] == 'U':
a[i] -= 1
if a[i] == -1:
a[i] = 9
elif B[1][j] == 'D':
a[i] += 1
if a[i] == 10:
a[i] = 0
print(*a)
D.
用切片代替C++中的substr
参考链接
一个是要注意切片时end_index是不包括自身的,所以下面是s1 = ss[:j + 1],但是start_index包括自身,另外,dict看键值元素是否存在是get方法,见B题,set看元素是否存在是用 in或者not in
import os
import collections
import math
import sys
T = int(input())
for _ in range(T):
n = int(input())
mp = []
sets = set()
for i in range(n):
s = input()
mp.append(s)
sets.add(s)
ans = ''
for ss in mp:
f = 0
for j in range(len(ss)):
s1 = ss[:j + 1]
s2 = ss[j + 1:]
# print(s1+'-----------'+s2)
if s1 in sets and s2 in sets:
f = 1
break
if f == 1:
ans += '1'
else:
ans += '0'
print(ans)
E.
import os
import collections
import math
import sys
T = int(input())
for _ in range(T):
n = int(input())
A = []
for i in range(n):
s = input()
A.append(s)
r = int(n / 2)
sum = 0
for i in range(r):
for j in range(r):
num0 = 0
num1 = 0
tmp1 = A[i][j]
tmp2 = A[j][n - 1 - i]
tmp3 = A[n - 1 - j][i]
tmp4 = A[n - 1 - i][n - 1 - j]
if tmp1 == '0':
num0 += 1
else:
num1 += 1
if tmp2 == '0':
num0 += 1
else:
num1 += 1
if tmp3 == '0':
num0 += 1
else:
num1 += 1
if tmp4 == '0':
num0 += 1
else:
num1 += 1
sum += min(num0, num1)
if(n&1==1):
for j in range(r):
num0 = 0
num1 = 0
tmp1 = A[r][j]
tmp2 = A[j][n - 1 - r]
tmp3 = A[n - 1 - j][r]
tmp4 = A[n - 1 - r][n - 1 - j]
if tmp1 == '0':
num0 += 1
else:
num1 += 1
if tmp2 == '0':
num0 += 1
else:
num1 += 1
if tmp3 == '0':
num0 += 1
else:
num1 += 1
if tmp4 == '0':
num0 += 1
else:
num1 += 1
sum += min(num0, num1)
print(sum)