Submission #2829587


Source Code Expand

#include<bits/stdc++.h>
#define x first
#define y second
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const int MAX=109999;
const ll INF=0x3f3f3f3f3f3f3f;
vector<int> conn[MAX];
queue<pii> bfs;
int ans[20],len,q;
int find_len(){
    int t=10,i;
    char tmp[10];
    for(i=1;i<=9;i++,t*=10){
        printf("? %d\n",t);
        fflush(stdout);
        scanf(" %s",tmp);
        if(tmp[0]=='N'){
            return i;
        }
    }
    t=2; q=1;
    for(i=0;i<=9;i++,t*=10){
        printf("? %d\n",t);
        fflush(stdout);
        scanf(" %s",tmp);
        if(tmp[0]=='Y'){
            return i;
        }
    }
    return -1;
}
int range(int x,int y,int r){
    int p=(x+y)/2;
    char tmp[10];
    if(y-x==1) return x;
    ans[r]=p;
    printf("? ");
    for(int i=0;i<len+1;i++) printf("%d",ans[i]);
    printf("\n");
    fflush(stdout);
    scanf(" %s",tmp);
    if(tmp[0]=='N') return range(p,y,r);
    return range(x,p,r);
}
int build(){
    int t=0;
    for(int i=0;i<len;i++) t*=10,t+=ans[i];
    return t+1;
}
int main()
{
    len=find_len();
    if(q==1){
        int t=1;
        for(int i=0;i<len;i++) t*=10;
        printf("! %d\n",t);
        fflush(stdout);
        return 0;
    }
    ans[0]=range(1,10,0);
    for(int i=1;i<len;i++) ans[i]=range(0,10,i);
    printf("! %d",build());
    printf("\n");
    fflush(stdout);
}

Submission Info

Submission Time
Task E - Awkward Response
User x0000ai
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1463 Byte
Status AC
Exec Time 6 ms
Memory 3156 KB

Compile Error

./Main.cpp: In function ‘int find_len()’:
./Main.cpp:19:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf(" %s",tmp);
                         ^
./Main.cpp:28:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf(" %s",tmp);
                         ^
./Main.cpp: In function ‘int range(int, int, int)’:
./Main.cpp:44:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf(" %s",tmp);
                     ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 1
AC × 40
Set Name Test Cases
Sample 00_example_01.txt
All 00_example_01.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 5 ms 3152 KB
01.txt AC 5 ms 3148 KB
02.txt AC 5 ms 3152 KB
03.txt AC 5 ms 3152 KB
04.txt AC 5 ms 3152 KB
05.txt AC 5 ms 3152 KB
06.txt AC 5 ms 3152 KB
07.txt AC 6 ms 3152 KB
08.txt AC 6 ms 3148 KB
09.txt AC 4 ms 3152 KB
10.txt AC 5 ms 3148 KB
11.txt AC 5 ms 3152 KB
12.txt AC 5 ms 3152 KB
13.txt AC 5 ms 3152 KB
14.txt AC 5 ms 3152 KB
15.txt AC 5 ms 3148 KB
16.txt AC 6 ms 3156 KB
17.txt AC 6 ms 3152 KB
18.txt AC 4 ms 3148 KB
19.txt AC 5 ms 3152 KB
20.txt AC 5 ms 3152 KB
21.txt AC 5 ms 3148 KB
22.txt AC 5 ms 3152 KB
23.txt AC 5 ms 3156 KB
24.txt AC 5 ms 3152 KB
25.txt AC 5 ms 3152 KB
26.txt AC 5 ms 3152 KB
27.txt AC 5 ms 3152 KB
28.txt AC 5 ms 3152 KB
29.txt AC 5 ms 3156 KB
30.txt AC 5 ms 3156 KB
31.txt AC 4 ms 3156 KB
32.txt AC 5 ms 3152 KB
33.txt AC 5 ms 3152 KB
34.txt AC 5 ms 3152 KB
35.txt AC 5 ms 3156 KB
36.txt AC 5 ms 3152 KB
37.txt AC 6 ms 3152 KB
38.txt AC 6 ms 3156 KB
39.txt AC 6 ms 3152 KB