| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1365848 | biserailieva | Light Bulbs (EGOI24_lightbulbs) | C++20 | 21 ms | 452 KiB |
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
vector<string>res;
for(int i=0;i<n;i++)
{
cout<<"?"<<endl;
for(int j=0;j<n;j++)
{
string s;
if(j!=i)
{
s=string(n, '0');
}
else
{
s=string(n, '1');
}
cout<<s<<endl;
}
int x;
cin>>x;
if(x==n*n)
{
cout<<"!"<<endl;
for(int j=0;j<n;j++)
{
string s;
if(j!=i)
{
s=string(n, '0');
}
else
{
s=string(n, '1');
}
cout<<s<<endl;
}
return 0;
}
else
{
int l=0, r=n-1;
int mid;
while(l<r)
{
mid=(l+r)/2;
if(r-l>3)
{
cout<<"?"<<endl;
for(int j=0;j<n;j++)
{
string s=string(n, '0');
if(i==j)
{
for(int k=l;k<=mid;k++)
{
s[k]='1';
}
}
cout<<s<<endl;
}
cin>>x;
if(x==n)
{
r=l;
}
else if(x==(mid-l+1)*n)
{
l=mid+1;
}
else
{
r=mid;
}
}
else
{
cout<<"?"<<endl;
for(int j=0;j<n;j++)
{
string s=string(n, '0');
if(i==j)
{
s[l]='1';
s[l+1]='1';
}
cout<<s<<endl;
}
cin>>x;
if(x==2*n)
{
l=mid+1;
}
else if(x==n)
{
r=l;
}
else
{
if(l>0)
{
int a, b;
cout<<"?"<<endl;
for(int j=0;j<n;j++)
{
string q=string(n, '0');
if(j==i)
{
q[0]='1';
q[l]='1';
}
cout<<q<<endl;
}
cin>>a;
if(a==2*n)
{
l++;
}
r=l;
}
else
{
int a, b;
cout<<"?"<<endl;
for(int j=0;j<n;j++)
{
string q=string(n, '0');
if(j==i)
{
q[n-1]='1';
q[l]='1';
}
cout<<q<<endl;
}
cin>>a;
cout<<"?"<<endl;
for(int j=0;j<n;j++)
{
string q=string(n, '0');
if(j==i)
{
q[n-1]='1';
q[l+1]='1';
}
cout<<q<<endl;
}
cin>>b;
if(a==2*n-1 && b==n)
{
l++;
r=l;
}
else if(a==n && b==2*n-1)
{
r=l;
}
else if(a==2*n && b==2*n-1)
{
l++;
r=l;
}
else if(a==2*n-1 && b==2*n)
{
r=l;
}
}
}
}
}
string ans=string(n, '0');
ans[l]='1';
res.push_back(ans);
}
}
cout<<"!"<<endl;
for(string str : res)
{
cout<<str<<endl;
}
return 0;
}
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
