Submission #1197345

#TimeUsernameProblemLanguageResultExecution timeMemory
1197345ezzzayLight Bulbs (EGOI24_lightbulbs)C++17
0 / 100
0 ms416 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=3e5+5;
int n;
set<int>sty,stx;
vector<pair<int,int>>Y,X;
int ask(int y, int x){
	vector< vector<int> > v(n, vector<int> (n));
	v[0][0]=1;
	v[y][x]=1;
	cout<<"? "<<endl;
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			cout<<v[i][j]<<" ";
		}
		cout<<endl;
	}
	int h;
	cin>>h;
	return h;
}
void fun(vector<pair<int,int>> vc){
	cout<<"! "<<endl;
	vector< vector<int> > v(n, vector<int> (n));
	for(auto p:vc){
	    cout<<p.ff<<" "<<p.ss<<endl;
		v[p.ff][p.ss]=1;
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			cout<<v[i][j]<<" ";
		}
		cout<<endl;
	}
}
signed main(){
	cin>>n;
	for(int i=0;i<n;i++){
		sty.insert(i);
		stx.insert(i);
	}
	while(sty.size() and stx.size()){
		auto y= *sty.begin(), x= *stx.begin();
		int h=ask(y,x);
		if(h%n){
 			Y.pb({y,x});
 			sty.erase(y);
		}
		else{
			X.pb({y,x});
			stx.erase(x);
		}
	}
	if(sty.empty()){
		fun(Y);
	}
	else{
		fun(X);
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...