結果
問題 | No.2112 All 2x2 are Equal |
ユーザー |
![]() |
提出日時 | 2022-10-28 22:46:46 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 742 ms / 2,000 ms |
コード長 | 1,595 bytes |
コンパイル時間 | 199 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 57,984 KB |
最終ジャッジ日時 | 2024-07-06 01:59:44 |
合計ジャッジ時間 | 12,886 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 34 |
ソースコード
from re import Aimport sys#input = sys.stdin.readline#input = sys.stdin.buffer.readline #文字列はダメ#sys.setrecursionlimit(1000000)#import mathimport bisect#import itertools#import random#from heapq import heapify, heappop, heappushfrom collections import defaultdict#from collections import deque#import copy #DeepCopy: hoge = [_[:] for _ in hogehoge]#from functools import lru_cache#@lru_cache(maxsize=None)#MOD = pow(10,9) + 7MOD = 998244353#dx = [1,0,-1,0]#dy = [0,1,0,-1]#dx8 = [1,1,0,-1,-1,-1,0,1]#dy8 = [0,1,1,1,0,-1,-1,-1]def main():H,W = map(int,input().split())Flag = Falseif H%2 == 1:if W%2 == 0:H,W = W,HFlag = TrueA = [[0]*W for _ in range(H)]s = H*W+1num = 0for i in range(H//2):for j in range(W):num += 1if j%2 == 0:A[i*2][j] = numA[i*2+1][j] = s-numelse:A[i*2][j] = s-numA[i*2+1][j] = numif H%2 == 1:for j in range(W):num += 1A[H-1][j] = num# print(A)for j in range(W//4):nj = 2*j+1# print(nj,W-1-nj)A[H-1][nj],A[H-1][W-1-nj] = A[H-1][W-1-nj],A[H-1][nj]print('Yes')if not Flag:for ret in A:print(*ret)else:B = [[0]*H for _ in range(W)]for i in range(H):for j in range(W):B[j][i] = A[i][j]for ret in B:print(*ret)if __name__ == '__main__':main()