結果
問題 | No.1587 012 Matrix |
ユーザー |
![]() |
提出日時 | 2021-07-08 23:01:20 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 141 ms / 1,000 ms |
コード長 | 643 bytes |
コンパイル時間 | 146 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 12,800 KB |
最終ジャッジ日時 | 2024-07-01 13:05:58 |
合計ジャッジ時間 | 2,692 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 22 |
ソースコード
##A0~Bnまで2*n個あるため ##和の種類は2*N必要となる N=int(input()) NN=N*2 ##最大と最小を行と列に順番に振り分けていく ## ex.N=4(0~7)なら0,7は縦、1,6は横… tate=list(range(0,NN//2,2))+list(range(NN//2+1,NN,2)) yoko=list(range(1,NN//2,2))+list(range(NN//2,NN,2)) yoko=sorted(yoko) ans=[[0 for _ in range(N)] for _ in range(N)] ##縦の値を貪欲に埋めていく for i in range(N): for j in range(N): if tate[i]>=2: ans[i][j]=2 tate[i]-=2 elif tate[i]==1: ans[i][j]=1 tate[i]-=1 for a in ans: print(''.join(map(str,a)))