Submission #2613714


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pp;
typedef pair<ll,ll> pll;
void read(int& x){ scanf("%d",&x); }
void read(ll& x){ scanf("%lld",&x); }
template<typename T,typename... Args>
void read(T& a,Args&... b){ read(a); read(b...); }
#define all(x) (x).begin(),(x).end()
#define pb push_back
#define eb emplace_back
#define x first
#define y second

int n, D[2];

vector<pp> d[2];

int iro[600][600][2];
char vis[600][600][2];

int cnt[4];

void dfs(int x, int y, int di){
	vis[x][y][di]=1;
	for(auto t:d[di]){
		int dx, dy; tie(dx, dy) = t;
		int nx=x+dx, ny=y+dy;
		if(0<=nx && 0<=ny && nx<2*n && ny<2*n){
			if(!vis[nx][ny][di]){
				iro[nx][ny][di] = iro[x][y][di] ^ 1;
				dfs(nx, ny, di);
			}
		}
	}
}

int main()
{
	read(n, D[0], D[1]);
	const int n2 = n*2;
	for(int di=0; di<2; ++di){
		for(int dx=0; dx<n2; ++dx) for(int dy=0; dy<n2; ++dy){
			if(dx*dx + dy*dy == D[di]){
				d[di].eb(dx, dy);
				d[di].eb(dx, -dy);
				d[di].eb(-dx, dy);
				d[di].eb(-dx, -dy);
			}
		}
	}
	
	for(int i=0; i<n2; ++i) for(int j=0; j<n2; ++j){
		for(int di=0; di<2; ++di) if(!vis[i][j][di]) dfs(i, j, di);
		++cnt[(iro[i][j][0]<<1)|iro[i][j][1]];
	}
	
	for(int i=0; i<4; ++i) if(cnt[i]>=n*n){
		int cc=0, tg=n*n;
		for(int x=0; x<n2; ++x){
			for(int y=0; y<n2; ++y){
				if(((iro[x][y][0]<<1)|iro[x][y][1]) == i){
					printf("%d %d\n", x, y);
					if(++cc == tg) return 0;
				}
			}
		}
	}
	return 0;
}

Submission Info

Submission Time
Task D - Choosing Points
User Namnamseo
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1520 Byte
Status AC
Exec Time 82 ms
Memory 32512 KiB

Compile Error

./Main.cpp: In function ‘void read(int&)’:
./Main.cpp:6:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 void read(int& x){ scanf("%d",&x); }
                                  ^
./Main.cpp: In function ‘void read(ll&)’:
./Main.cpp:7:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 void read(ll& x){ scanf("%lld",&x); }
                                   ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 2
AC × 46
Set Name Test Cases
Sample sample01.txt, sample02.txt
All sample01.txt, sample02.txt, extra00.txt, extra01.txt, extra02.txt, extra03.txt, extra04.txt, extra05.txt, extra06.txt, extra07.txt, extra08.txt, extra09.txt, extra10.txt, extra11.txt, extra12.txt, extra13.txt, extra14.txt, extra15.txt, extra16.txt, extra17.txt, extra18.txt, extra19.txt, extra20.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, sample01.txt, sample02.txt
Case Name Status Exec Time Memory
extra00.txt AC 36 ms 4480 KiB
extra01.txt AC 37 ms 4480 KiB
extra02.txt AC 47 ms 4864 KiB
extra03.txt AC 54 ms 5760 KiB
extra04.txt AC 52 ms 10752 KiB
extra05.txt AC 32 ms 4352 KiB
extra06.txt AC 46 ms 7296 KiB
extra07.txt AC 51 ms 7424 KiB
extra08.txt AC 72 ms 10624 KiB
extra09.txt AC 30 ms 4480 KiB
extra10.txt AC 57 ms 7424 KiB
extra11.txt AC 36 ms 4480 KiB
extra12.txt AC 40 ms 4480 KiB
extra13.txt AC 32 ms 4480 KiB
extra14.txt AC 34 ms 4480 KiB
extra15.txt AC 35 ms 4480 KiB
extra16.txt AC 48 ms 4864 KiB
extra17.txt AC 34 ms 4608 KiB
extra18.txt AC 35 ms 4864 KiB
extra19.txt AC 36 ms 6784 KiB
extra20.txt AC 52 ms 32512 KiB
in01.txt AC 59 ms 28544 KiB
in02.txt AC 63 ms 8960 KiB
in03.txt AC 66 ms 24320 KiB
in04.txt AC 55 ms 15104 KiB
in05.txt AC 69 ms 27008 KiB
in06.txt AC 58 ms 18304 KiB
in07.txt AC 61 ms 10368 KiB
in08.txt AC 40 ms 6144 KiB
in09.txt AC 17 ms 6016 KiB
in10.txt AC 47 ms 17792 KiB
in11.txt AC 42 ms 17408 KiB
in12.txt AC 66 ms 30464 KiB
in13.txt AC 45 ms 10112 KiB
in14.txt AC 66 ms 32128 KiB
in15.txt AC 73 ms 30208 KiB
in16.txt AC 52 ms 11392 KiB
in17.txt AC 82 ms 31488 KiB
in18.txt AC 66 ms 32512 KiB
in19.txt AC 61 ms 32512 KiB
in20.txt AC 37 ms 6144 KiB
in21.txt AC 36 ms 6144 KiB
sample01.txt AC 1 ms 256 KiB
sample02.txt AC 1 ms 256 KiB