Submission #1151838

#TimeUsernameProblemLanguageResultExecution timeMemory
1151838ghammazhassanLight Bulbs (EGOI24_lightbulbs)C++20
22 / 100
78 ms448 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; 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 (string p:a){ cout << p << endl; } cin >> x; if (x==n*n){ cout << "!" << endl; for (string p:a){ cout << p << 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; } } if (ind[j]==-1){ cout << -1 << endl; return; } } 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...