結果

問題 No.3246 80% Accuracy Calculator
ユーザー titia
提出日時 2025-09-02 03:02:06
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
RE  
実行時間 -
コード長 1,528 bytes
コンパイル時間 230 ms
コンパイル使用メモリ 12,416 KB
実行使用メモリ 28,792 KB
平均クエリ数 8068.05
最終ジャッジ日時 2025-09-02 03:02:28
合計ジャッジ時間 20,602 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 4 RE * 39
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline
from collections import Counter

A=[]
for i in range(10):
    print("?","A",flush=True)
    ret=int(input())
    A.append(ret)

B=[]
for i in range(10):
    print("?","B",flush=True)
    ret=int(input())
    B.append(ret)

CA=Counter(A)
A0=CA.most_common()[0][0]

CB=Counter(B)
B0=CB.most_common()[0][0]



while True:
    if A0<B0:
        print("+","C","C","A",flush=True)
        ret=int(input())

        A=[]

        for i in range(10):
            print("?","A",flush=True)
            ret=int(input())
            A.append(ret)

        CA=Counter(A)
        A=CA.most_common()[0][0]

        if A==0:
            break

    else:
        print("+","C","C","B",flush=True)
        ret=int(input())

        B=[]

        for i in range(10):
            print("?","B",flush=True)
            ret=int(input())
            B.append(ret)

        CB=Counter(B)
        B=CB.most_common()[0][0]

        if B==0:
            break


for i in range(min(A0,B0)):
    if A0<B0:
        print("+","A","B","C",flush=True)
    else:
        print("+","B","A","C",flush=True)

    ret=int(input())


while True:
    C=[]
    for i in range(10):
        print("?","C",flush=True)
        ret=int(input())
        C.append(ret)

    CC=Counter(C)
    C=CC.most_common()[0][0]

    if C==A0*B0:
        break

    if A0<B0:
        print("+","A","B","C",flush=True)
    else:
        print("+","B","A","C",flush=True)

    ret=int(input())

print("!","C",flush=True)

    
    

        
        
0