Submission #1048257

# Submission time Handle Problem Language Result Execution time Memory
1048257 2024-08-08T06:06:02 Z 김은성(#11035) Light Bulbs (EGOI24_lightbulbs) C++17
0 / 100
1 ms 504 KB
#include <bits/stdc++.h>
using namespace std;
bool q[109][109], a[109][109];
int n;
int ask(){
	printf("?\n");
	for(int i=0; i<n; i++){
		for(int j=0; j<n; j++){
			printf("%d", q[i][j]);
		}
		printf("\n");
	}
	fflush(stdout);
	int val;
	scanf("%d", &val);
	return val;
}
void answer(){
	printf("!\n");
	for(int i=0; i<n; i++){
		for(int j=0; j<n; j++){
			printf("%d", a[i][j]);
		}
		printf("\n");
	}
	fflush(stdout);
}
int main(){
	scanf("%d", &n);
	int i, j;
	for(i=0; i<n; i++){
		int lo = 0, hi = n-1, mid;
		memset(q, 0, sizeof(q));
		for(j=0; j<n; j++)
			q[i][j] = 1;
		if(ask() == n*n){
			memset(a, 0, sizeof(a));
			for(int j=0; j<n; j++)
				a[i][j] = 1;
			answer();
			return 0;
		}
		while(lo < hi){
			mid = (lo+hi)/2;
			memset(q, 0, sizeof(q));
			if(hi-lo == 2){
				q[i][lo] = q[i][lo+1] = 1;
				if(ask() == n * 2)
					lo += 2;
				else{
					q[i][lo] = 0;
					q[i][lo+2] = 1;
					if(ask() == n*2)
						hi = lo;
					else{
						a[i][lo+1] = 0;
						q[i][lo] = 1;
						if(ask() == n)
							hi = lo;
						else
							hi = lo = lo+1;
					}
				}
				continue;
			}
			if(hi-lo == 3)
				mid++;
			for(int j=lo; j<=mid; j++)
				q[i][j] = 1;
			if(ask() == n * (mid-lo+1))
				lo = mid+1;
			else
				hi = mid;
		}
		a[i][lo] = 1;
	}
	answer();
	return 0;
}

Compilation message

Main.cpp: In function 'int ask()':
Main.cpp:15:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |  scanf("%d", &val);
      |  ~~~~~^~~~~~~~~~~~
Main.cpp: In function 'int main()':
Main.cpp:29:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   29 |  scanf("%d", &n);
      |  ~~~~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 344 KB The lamps do not light up the entire grid
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 504 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 344 KB The lamps do not light up the entire grid
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Incorrect 0 ms 344 KB The lamps do not light up the entire grid
4 Halted 0 ms 0 KB -