제출 #1151800

#제출 시각아이디문제언어결과실행 시간메모리
1151800ghammazhassanLight Bulbs (EGOI24_lightbulbs)C++20
22 / 100
79 ms2796 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> using namespace std; #define int long long const int N=3e5+5; const int M=998244353; const int LOG = 18; int n , m , c , t=1 , q=1 , x , y; vector<int>a(N); void solve() { cin >> n; string s; for (int i=0;i<n;i++){ s+='0'; } vector<string>an(n,s); vector<string>a(n,s); for (int i=0;i<n;i++){ for (int j=0;j<n;j++){ a[i][j]='1'; } cout << "?" << endl; for (int j=0;j<n;j++){ cout << a[j] << endl; } cin >> x; if (x==n*n){ cout << "!" << endl; for (string i:a){ cout << i << endl; } return; } int r=0; if (x==n*n-n+1){ a[i][n-1]='0'; cout << "?" << endl; for (string p:a){ cout << p << endl; } cin >> y; if (x-y==1){ an[i][n-1]='H'; r=1; } a[i][n-1]='1'; } int o=x; for (int j=0;j<n;j++){ if (an[i][j]=='H')continue; a[i][j]='0'; cout << "?" << endl; for (string p:a){ cout << p << endl; } cin >> y; // cout << (x-y==j+1) << " "; if (o==n*n-n+1){ if (x-y==j+1 and r==0){ r=1; an[i][j]='H'; a[i][j]='1'; } else{ an[i][j]='V'; x=y; } } else if (x-y<2){ an[i][j]='H'; a[i][j]='1'; } else{ an[i][j]='V'; x=y; } } for (int j=0;j<n;j++){ a[i][j]='0'; } } // for (int i=0;i<n;i++){ // cout << an[i] << endl; // } bool f=1; vector<int>in(n,-1); for (int i=0;i<n;i++){ for (int j=0;j<n;j++){ if (an[i][j]=='H'){ in[i]=j; } } if (in[i]==-1)f=0; } if (f){ for(int i=0;i<n;i++){ a[i][in[i]]='1'; } cout << "!" << endl; for (string p:a){ cout << p << endl; } return; } vector<int>ind(n,-1); for (int j=0;j<n;j++){ for (int i=0;i<n;i++){ if (an[i][j]=='V'){ ind[j]=i; } } } for(int i=0;i<n;i++){ a[ind[i]][i]='1'; } cout << "!" << endl; for (string p:a){ cout << p << endl; } } signed main() { cout << fixed<<setprecision(9); // int t=1; // cin >> t; for (int _=1;_<=t;_++){ solve(); q++; } } // HVH // VHV // HHV // VVVVVH
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...