defDigPrint(rtxt,s,A): B=[[],[],[],[],[]] txt=[int(x) for x in rtxt] for i in txt: for p in range(5): if p&1: B[p].append(A[p][2*i]+" "*s+A[p][2*i+1]) else: B[p].append(" "+A[p][i]*s+" ")
index=[0]+[1]*s+[2]+[3]*s+[4] for i in index: print(" ".join(B[i])) print("") return0
n=int(input()) for _ in range(n): s,rtxt=input().split() s=int(s) DigPrint(rtxt,s,A)
defmining(a,A,C): for i in range(a): for j in range(a): if A[i][j]=='x': A[i][j]=str(C[i+1][j+1]) print(''.join(A[i])) return0
defsolve(a): flag=0 A=[] B=[] for i in range(a): A.append([x for x in input()]) #A=雷的位置 for i in range(a): b=input() B.append([x for x in b]) for j in range(a): if b[j]=='x': if A[i][j]=='.': A[i][j]='x' else: flag+=1 C=[[0]*(a+2) for _ in range(a+2)] for i in range(a): for j in range(a): if(A[i][j]=='*'): C[i][j+1]+=1#(i-1,j)上 C[i+2][j+1]+=1#(i+1,j)下 C[i+1][j]+=1#(i,j-1)左 C[i+1][j+2]+=1#(i,j+1)右 C[i][j]+=1#(i-1,j-1)左上 C[i+2][j+2]+=1#(i+1,j+1)右下 C[i+2][j]+=1#(i+1,j-1)左下 C[i][j+2]+=1#(i-1,j+1)右上 if flag: mining(a,A,C) else: mining(a,B,C) return0
n=int(input()) for i in range(n): a=input() weight=a.count('R') height=a.count('U') area=weight*height tmpw=weight tmparea=0 for p in a: if p=='U': tmparea+=tmpw else: tmpw-=1 print('%.03f'%((area-2*tmparea)/2))
每个CASE 输出一个整数ans(0 ≤ ans ≤ 263-1),表示kittig从A到B用N步的走法。
思路
消序法消序法消序法消序法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
from math import factorial T=int(input()) for i in range(T): x1,y1,x2,y2,N=[int(x) for x in input().split()] A=abs(x1-x2) B=abs(y1-y2) K=N-A-B if(K&1): print(0) else: K=K>>1 ans=0 tmp=factorial(N) for a in range(K+1): b=K-a ans+=tmp//(factorial(A+a)*factorial(B+b)*factorial(a)*factorial(b)) print(ans)