rt,在写 AT678,然后写一半交上去看效率,结果 T 掉了。。。求大佬优化 qwq
import bz2,base64
from math import *
import scipy.signal as signal
a,o,h,p,z=bz2.decompress(base64.b64decode('QlpoOTFBWSZTWcEVftEADMDwCH///8QIQUAAUAO+D3muPZ1wO3WGnqIZTJNNKeppj9UgNMST1TTajQPU0GgSaUKo80Nqp5QwjQRPShp6g09Jo0ephBCooBqYAhkH6oH4hIhCSrKyDCAwJKgUooSjCqSgQCQJChKMLIkMKQwkshAkBKQhBIksKQkiMJAoEhKsjAQsBLMDSBELSIiAZy3Qa3xpKOm9WzQdrrwbqWeoJKeTiU6w5fCWBkbgFEiaCsN91ekUkUtldMnVM/FA0KPn9OTwgkWaYfByyGwzSzjnbvndg1SmEOk74uE+Jm0w4iqLXAuCakWYSjIbQh0xZPwwnv046FeaU5eGbxrxp28ryXddDjrRLJTo5Xt+4cA0OMy89iiHZhSa9S6145jrpPCeH414ELTvsUQMCjFfmdQa1nCYGKd1xEKMgrC/Mzi09QnxanMWvCdTjB1upMlDokR4MATdpAhICgTGCw3FH760ZlzLOVfXm5xPWiiiKUo6o0Ue5bjF49sBhh5HNA7JA+3Jr+nd7MnX+fWOsIAJrikaA2YcbJDrKqCaodTGliEwNQOcYwspTaeO1hGNaAwkkgYV8GpdRKdyIslsTUA9Y0KgFTqgHgh8Lf6uh3hcF9YVQYd0CqohLp1cRf54UlD12Lm7rg95h9v6IsHL5MFiC9Unw6RZhNsXxxNnlidVattILXeeEsotUNm3apjhhcTdA0pL0ogShvjdISrCuYHXvj9985zlb2Z0kkfy18YW5WhUDc2rzMDG5m1mx9eq+S7JUvat/ucck2Gkt7Pa+mVOMrJAQUou6DZmDdsM2RY1UzEd2aMOU4fGsDIIIxYshqpaUe2cwpmtuEKd8YWlKgoIkMwVAWALK3NqsRUHBKmWQLbPXvhhouHMsZmsx/F3JFOFCQwRV+0Q')).decode(),[39,38,38,39,38,38,39,38,39,39,54,51,7,54,28,26],[[]],0,-1
for i in range(len(a)):
if i%30==0:h[p].append([]);z+=1;
if z==o[p]:z=0;p+=1;h.append([[]]);
h[p][z].append(a[i]=='#')
def rotate(x,y,theta,c,d):a,b=x*cos(theta)+y*(-sin(theta)),x*sin(theta)+y*cos(theta);return round(a+c*b),round(b+d*a);
def to_dict(k):return {(i,j):1 for j in range(len(k[0])) for i in range(len(k)) if k[i][j]}
def bound(k):g=list(to_dict(k).keys());a,b,c,d=max([i[0] for i in g]),min([i[0] for i in g]),max([i[1] for i in g]),min([i[1] for i in g]);return [[k[i][j] for j in range(d,c+1)] for i in range(b,a+1)];
def to_list(k):return bound([[k.get((i-10,j-10))==1 for j in range(60)]for i in range(60)]);
x=[[[[to_list({rotate(j,k,pi/180*p,a/10,b/10):1for j in range(len(i)-1)for k in range(30)if i[j][k]})for b in range(-1,2,1)]for a in range(-1,2,1)]for p in range(-15,16,3)]for i in h]
class Image(object):
def image(self,s):self.img=s;
def reno(self):self.img=signal.medfilt(self.img);
def print(self):
self.img=bound(self.img)
for i in self.img:
for j in i:
if j==1:
print('#',end='')
else:
print('.',end='')
print('')
img = Image()
img.image(to_list(to_dict(x[3][2][0][0])))
img.reno()
img.print()