제출 #1349901

#제출 시각아이디문제언어결과실행 시간메모리
1349901efegDark Ride (EGOI25_darkride)C++20
100 / 100
1 ms480 KiB
#include <bits/stdc++.h>

using namespace std;

int query(string& sorgu) {
    cout << "? " << sorgu << '\n'; 
    cout.flush(); 

    int q; cin >> q;
    return (q & 1); 
}

int main() {
    int n;  
    cin >> n;

    int d = 0,k = -1;
    for (int i = 0; i < 15; i++){
        string sorgu; 
        for (int j = 0; j < n; j++){
            if ((j >> i) & 1) sorgu += "1"; 
            else sorgu += "0"; 
        }
        int q = query(sorgu);
        d += (1 << i) * q; 
        if (k == -1 && q) k = i; 
    }

    int a = 0; 
    for (int i = 0; i < 15; i++){
        string sorgu;
        for (int j = 0; j < n; j++){
            if (((j >> i) & 1) && ((j >> k) & 1)) sorgu += "1"; 
            else sorgu += "0"; 
        }
        int q = query(sorgu); 
        a += (1 << i) * q;
    }

    cout << "! " << a << " " << (a ^ d) << '\n'; 
    cout.flush(); 
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...