結果

問題 No.859 路線A、路線B、路線C
ユーザー suika_psuika_p
提出日時 2019-08-10 00:10:41
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 32 ms / 1,000 ms
コード長 1,662 bytes
コンパイル時間 90 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-07-19 16:02:49
合計ジャッジ時間 1,144 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 32 ms
10,880 KB
testcase_01 AC 32 ms
10,880 KB
testcase_02 AC 29 ms
10,880 KB
testcase_03 AC 29 ms
10,880 KB
testcase_04 AC 29 ms
10,880 KB
testcase_05 AC 30 ms
10,880 KB
testcase_06 AC 29 ms
10,880 KB
testcase_07 AC 30 ms
10,880 KB
testcase_08 AC 30 ms
10,880 KB
testcase_09 AC 30 ms
10,880 KB
testcase_10 AC 31 ms
10,880 KB
testcase_11 AC 31 ms
10,880 KB
testcase_12 AC 31 ms
10,752 KB
testcase_13 AC 30 ms
10,880 KB
testcase_14 AC 30 ms
10,752 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

x, y, z = map(int, input().split())
tmp1 = list(input().split())
tmp2 = list(input().split())
ss = tmp1[0]
s = int(tmp1[1])
sg = tmp2[0]
g = int(tmp2[1])

if ss == 'A':
    if sg == 'B':
        d1 = s + g - 1
        d2 = (x - s) + (y - g) + 1
        print(min(d1, d2))
    elif sg == 'C':
        d1 = s - 1 + g
        d2 = s - 1 + y + (z - g) + 1
        d3 = (x - s) + (z - g) + 1
        d4 = (x - s) + y + g
        print(min(d1, d2, d3, d4))
    else:
        if g < s:
            g, s = s, g
        d1 = abs(g - s)
        d2 = (s - 1) + y + (x - g) + 1
        print(min(d1, d2))
elif ss == 'B':
    if sg == 'A':
        s, g = g, s
        d1 = s + g - 1
        d2 = (x - s) + (y - g) + 1
        print(min(d1, d2))
    elif sg == 'C':
        d1 = s - 1 + g
        d2 = (y - s) + (z - g) + 1
        d3 = s - 1 + x + (z - g) + 1
        d4 = (y - s) + 1 + x + g - 1
        print(min(d1, d2, d3, d4))
    else:
        if g < s:
            g, s = s, g
        d1 = abs(g - s)
        d2 = (s - 1) + x + (y - g) + 1
        d3 = (s - 1) + z + (y - g) + 1
        print(min(d1, d2))
elif ss == 'C':
    if sg == 'A':
        s, g = g, s
        d1 = s - 1 + g
        d2 = s - 1 + y + (z - g) + 1
        d3 = (x - s) + (z - g) + 1
        d4 = (x - s) + y + g
        print(min(d1, d2, d3, d4))
    elif sg == 'B':
        s, g = g, s
        d1 = s - 1 + g
        d2 = (y - s) + (z - g) + 1
        d3 = s - 1 + x + (z - g) + 1
        d4 = (y - s) + 1 + x + g - 1
        print(min(d1, d2, d3, d4))
    else:
        if g < s:
            g, s = s, g
        d1 = abs(g - s)
        d2 = (s - 1) + y + (z - g) + 1
        print(min(d1, d2))
0