| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1365846 | biserailieva | Light Bulbs (EGOI24_lightbulbs) | C++20 | 21 ms | 448 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;
cout<<"?"<<endl;
for(int j=0;j<n;j++)
{
string q=string(n, '0');
if(j==i)
{
q[0]='1';
q[l+1]='1';
}
cout<<q<<endl;
}
cin>>b;
if(a==2*n-1 && b==n) //H VH
{
l++;
r=l;
}
else if(a==n && b==2*n-1) //H HV
{
r=l;
}
else if(a==2*n && b==2*n-1) //V VH
{
l++;
r=l;
}
else if(a==2*n-1 && b==2*n) //V HV
{
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;
}
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
