結果

問題 No.915 Plus Or Multiple Operation
ユーザー LyricalMaestroLyricalMaestro
提出日時 2024-12-10 01:27:53
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,626 bytes
コンパイル時間 339 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 68,224 KB
最終ジャッジ日時 2024-12-10 01:27:56
合計ジャッジ時間 1,798 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 AC 49 ms
60,032 KB
testcase_02 AC 63 ms
68,224 KB
testcase_03 AC 44 ms
54,272 KB
testcase_04 AC 47 ms
53,632 KB
testcase_05 AC 44 ms
53,888 KB
testcase_06 AC 49 ms
60,672 KB
testcase_07 AC 44 ms
53,760 KB
testcase_08 AC 44 ms
53,504 KB
testcase_09 AC 43 ms
53,504 KB
testcase_10 AC 44 ms
53,632 KB
testcase_11 AC 47 ms
60,800 KB
testcase_12 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

## https://yukicoder.me/problems/no/915

from collections import deque

def main():
    Q = int(input())
    abc = []
    for _ in range(Q):
        a, b, c = map(int, input().split())
        abc.append((a, b ,c))
    
    for a, b, c in abc:
        if c == 1:
            print(a * b)
            continue
        
        queue = deque()
        b_map = {a: 0}
        queue.append(a)
        while len(queue) > 0:
            x  = queue.popleft()
            if x == 0:
                break

            if x % c == 0:
                d = x // c
                if d not in b_map:
                    b_map[d] = b_map[x] + 1
                    queue.append(d)

                if x - (c - 1) >= 0:
                    e = x - (c - 1)
                    if e not in b_map:
                        b_map[e] = b_map[x] + 1
                        queue.append(e)
                else:
                    if 0 not in b_map:
                        b_map[0] = b_map[x] + 1
                        queue.append(0)
            else:
                d = x - (x % c)
                if d not in b_map:
                    b_map[d] = b_map[x] + 1
                    queue.append(d)
                
                if x - (c - 1) >= 0:
                    e = x - (c - 1)
                    if e not in b_map:
                        b_map[e] = b_map[x] + 1
                        queue.append(e)
                else:
                    if 0 not in b_map:
                        b_map[0] = b_map[x] + 1
                        queue.append(0)

        print(b_map[0] * b)





    

if __name__ == "__main__":
    main()
0