結果
問題 | No.1034 テスターのふっぴーさん |
ユーザー |
![]() |
提出日時 | 2023-03-12 20:25:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 43 ms / 2,000 ms |
コード長 | 1,031 bytes |
コンパイル時間 | 202 ms |
コンパイル使用メモリ | 82,492 KB |
実行使用メモリ | 52,864 KB |
最終ジャッジ日時 | 2024-09-18 07:13:38 |
合計ジャッジ時間 | 2,302 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
# じゃがいもの皮をむくイメージ # 最初の皮の層は(N-1)*4、次の皮の層は(N-3)*4、、、と続く # (i, j)が与えられたら第何層の何個目かでわかるはず # TLEしたのでs配列を計算式にする Q = int(input()) for q in range(Q): n, i, j = map(int, input().split()) # 第何層か i_layer = min(i, n-1-i) j_layer = min(j, n-1-j) layer = min(i_layer, j_layer) s = (layer)*n*4 - 4*layer*2*layer//2 #s2 = 0 #for l in range(layer): # s2 += (n-l*2-1)*4 #print('layer', layer, 's', s, 's2', s2) # その中の何番目か、第k層の最初は(k, k) idx_in_layer = 0 if i == layer: idx_in_layer = j-layer elif i == n-1-layer: idx_in_layer = (n-(layer*2+1))*2 + (n-1-layer) - j elif j == n-1-layer: idx_in_layer = (n-(layer*2+1)) + i - layer elif j == layer: idx_in_layer = (n-(layer*2+1))*3 + (n-1-layer) - i #print(i, j, 'layer', layer, 's', s, s+idx_in_layer) print(s+idx_in_layer)