鄙人 效率太差 以至于 总是得熬夜早起 劳神耗力 感觉像吃干饭活到这么大的
天下武功 唯快不破 乱世英雄 拿出实力
代码真的只有默写才是掌握,看,动手编写,天下的方法海了去了,必须车轮战
这个人的代码写的是真的好,已经到了斗气化马的境界了,能把不同的方法灵活运用。根据题意自动组合。比如try catch来辅助递归和计算值,还有对数组进行提前赋值
另外我开始都没发现函数命名是 def a(i)的形式,以至于后面调用a(i)还以为是数组下标,数组下标就应该是[]。()应该是对函数的引用。开始时X=[None,x1]我还以为是赋值
所以跟着敲自己默才是正道
def x(i): try: return X[i] except: X.append((C*x(i-1)+D*y(i-1)+E1)%F) return X[i] def y(i): try: return Y[i] except: Y.append((D*x(i-1)+C*y(i-1)+E2)%F) return Y[i] def a(i): return (x(i)+y(i))%F def power(i): power=0 for subarray in subarrays: base=0 for j in range(len(subarray)): base+=1 power+=subarray[j]*base**i return power T=int(input()) for t in range(T): N,K,x1,y1,C,D,E1,E2,F=map(int,input().split()) X=[None,x1] Y=[None,y1] A=[] # 因为已经给了X[0]X[1]的值,所以赋值只发生在2-N for i in range(N): A.append(a(i+1)) subarrays=[A[i:i+j] for i in range(0,N) for j in range(1,N-i+1)] POWER=0 for i in range(1,K+1): POWER+=power(i)%1000000007 POWER%=1000000007 print('Case #{}:'.format(t+1),POWER)