結果

問題 No.1034 テスターのふっぴーさん
ユーザー lam6er
提出日時 2025-03-31 17:26:02
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 40 ms / 2,000 ms
コード長 1,034 bytes
コンパイル時間 194 ms
コンパイル使用メモリ 82,064 KB
実行使用メモリ 54,644 KB
最終ジャッジ日時 2025-03-31 17:27:27
合計ジャッジ時間 2,589 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

def compute_time(N, I, J):
    k = min(I, J, (N-1)-I, (N-1)-J)
    sum_outer = 4 * k * (N - k)
    L = N - 2 * k
    if L == 0:
        return sum_outer  # This case should not occur for valid I, J
    
    # Check right edge (i == k)
    if I == k and J >= k and J <= (N-1 - k):
        offset = J - k
        return sum_outer + offset
    # Check bottom edge (j == N-1 -k)
    elif J == (N-1 - k) and I >= (k + 1) and I <= (N-1 - k):
        offset = I - (k + 1)
        return sum_outer + L + offset
    # Check left edge (i == N-1 -k)
    elif I == (N-1 - k) and J <= (N-1 - k -1) and J >= k:
        offset = (N-1 - k - 1) - J
        return sum_outer + L + (L - 1) + offset
    # Check top edge (j == k)
    elif J == k and I >= (k + 1) and I <= (N-1 - k -1):
        offset = (N-1 - k - 1) - I
        return sum_outer + L + (L -1) * 2 + offset
    else:
        return -1  # Should not reach here if inputs are valid

Q = int(input())
for _ in range(Q):
    N, I, J = map(int, input().split())
    print(compute_time(N, I, J))
0