답안 #1071352

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1071352 2024-08-23T06:51:17 Z jer033 COVID tests (CEOI24_covid) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;

vector<bool> answer(1000, 0);

void answer_clear()
{
    for (int i=0; i<1000; i++)
        answer[i] = 0;
}

bool ask_query(vector<bool> a)
{
    cout << "Q ";
    for (int i=0; i<1000; i++)
        cout << a[i];
    cout << '\n';
    cout.flush();
    char x;
    cin >> x;
    if (x=='P')
        return 1;
    return 0;
}

bool ask_query2(int x, int y)
{
    cout << "Q ";
    for (int i=0; i<x; i++)
        cout << 0;
    for (int i=x; i<=y; i++)
        cout << 1;
    for (int i=y+1; i<1000; i++)
        cout << 0;
    cout << '\n';
    cout.flush();
    char x;
    cin >> x;
    if (x=='P')
        return 1;
    return 0;
}

bool report(vector<bool> a)
{
    cout << "A ";
    for (int i=0; i<1000; i++)
        cout << a[i];
    cout << '\n';
    cout.flush();
    char x;
    cin >> x;
    if (x=='C')
        return 1;
    return 0;
}

bool range_query(int x, int y)
{
    bool response = ask_query2(x, y);
    if (response==1)
    {
        if (x==y)
            answer[x] = 1;
        else
        {
            int z = (x+y)/2;
            range_query(x, z);
            range_query(z+1, y);
        }
        return 1;
    }
    return 0;
}

int main()
{
    int N, T;
    long double P;
    cin >> N >> P >> T;
    if (T==1)
    {
        while (T--)
        {
            vector<bool> query(N, 0);
            vector<bool> ans(N, 0);
            for (int i=0; i<N; i++)
            {
                query[i] = 1;
                ans[i] = ask_query(query);
                query[i] = 0;
            }
            bool L = report(ans);
            if (L==0)
                T = 0;
        }
    }
    else
    {
        while (T--)
        {
            answer_clear();
            range_query(0, 999);
            bool L = report(answer);
            if (L==0)
                T = 0;
        }
    }
}

Compilation message

Main.cpp: In function 'bool ask_query2(int, int)':
Main.cpp:37:10: error: declaration of 'char x' shadows a parameter
   37 |     char x;
      |          ^
Main.cpp:26:21: note: 'int x' previously declared here
   26 | bool ask_query2(int x, int y)
      |                 ~~~~^