ログイン
新規登録
AtsuoCoder Optimization Contest 001
読込中…
Home
Tasks
Clar
Submissions
Standings
提出 99e91212-26ad-47b2-93d4-54776d02c510
コード
import math import bisect import collections def main(): n,t = map(int,input().split()) A = [list(map(int,input().split())) for _ in range(n)] B = [list(map(int,input().split())) for _ in range(n)] O = [list(map(int,input().split())) for _ in range(t)] ans = [] for m,o in enumerate(O): H,W,a,b = o bestH,bestW,bestScore = 0,0,0 for i in range(n-H): for j in range(n-W): # (i,j)を左上とする範囲を調べる score = 0 for k in range(H): for l in range(W): if A[i+k][j+l] == a: score += abs(a-B[i+k][j+l]) - abs(b-B[i+k][j+l]) if score > bestScore: bestScore = score bestH,bestW = i,j if bestH and bestW: ans.append([m,bestH,bestW]) for i in range(H): for j in range(W): if A[i+bestH][j+bestW] == a: A[i+bestH][j+bestW] = b print(len(ans)) for vec in ans: print(*vec) return main()
結果
問題
点数
言語
結果
実行時間
メモリ
A - Replace() は Replace() されました
3190750
Python3
TLE
3102 ms
10732 KiB