Submission #1151724

#TimeUsernameProblemLanguageResultExecution timeMemory
1151724MuhammadSaramLight Bulbs (EGOI24_lightbulbs)C++20
60.67 / 100
319 ms432 KiB
#include <bits/stdc++.h> using namespace std; const int M = 100; int n; bool a[M][M]; void que() { cout<<"?"<<endl; for (int i=0;i<n;i++) { for (int j=0;j<n;j++) cout<<a[i][j]; cout<<endl; } for (int i=0;i<n;i++) for (int j=0;j<n;j++) a[i][j]=0; } int main() { int x; cin>>n; bool ans[n][n]={}; for (int i=0;i<n;i++) { a[i][0]=a[i][1]=1; que(); cin>>x; if (x==n) { ans[i][0]=1; continue; } if (x!=2*n) { a[i][1]=a[i][2]=1; que(); cin>>x; if (x==2*n) { ans[i][0]=1; continue; } else if(x==n) { ans[i][1]=1; continue; } a[i][0]=a[i][1]=a[i][2]=1; que(); cin>>x; if (x==2*n-1) ans[i][0]=1; else ans[i][1]=1; continue; } int s=2,e=n+1; while (s+1<e) { int mid=(s+e)/2; for (int j=1;j<n;j++) a[i][j]=(j<mid); que(); int x; cin>>x; if (x%n) e=mid; else s=mid; } if (s==n) { cout<<"!"<<endl; for (int j=0;j<n;j++) { string ss(n,'0'),s1(n,'1'); if (j==i) cout<<s1<<endl; else cout<<ss<<endl; } return 0; } ans[i][s]=1; } cout<<"!"<<endl; for (int i=0;i<n;i++) { for (int j=0;j<n;j++) cout<<ans[i][j]; cout<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...