結果
問題 |
No.5002 stick xor
|
ユーザー |
![]() |
提出日時 | 2018-05-28 21:33:06 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 978 bytes |
コンパイル時間 | 4,634 ms |
実行使用メモリ | 6,552 KB |
スコア | 0 |
最終ジャッジ日時 | 2018-05-28 21:33:19 |
ジャッジサーバーID (参考情報) |
judge9 / |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 -- * 31 |
ソースコード
import time s=time.time() f=[] n,k=list(map(int,input().split())) l=list(map(int,input().split())) for i in range(n): f.append(list(map(int,list(input())))) for i in range(k): nl=l[i] maxb=0 maxd=[0,0,0] c=n-nl+1 for x in range(c): for y in range(c): h=sum(f[x][y:y+nl]) w=0 for z in range(nl): w+=f[x+z][y] m=max([h,w]) if maxb<m: maxb=m maxd=[x,y,h<w] isbreak=m==nl if isbreak: break if isbreak: break for z in range(nl): f[maxd[0]+maxd[2]*z][maxd[1]+(not maxd[2])*z]=not f[maxd[0]+maxd[2]*z][maxd[1]+(not maxd[2])*z] put=str(maxd[0]+1)+" "+str(maxd[1]+1)+" " if maxd[2]: put+=str(maxd[0]+nl)+" "+str(maxd[1]+1) else: put+=str(maxd[0]+1)+" "+str(maxd[1]+nl) print(put) print(time.time()-s) for i in f: print(list(map(int,i)))