Submission #1004791


Source Code Expand

#include "bits/stdc++.h"
using namespace std;
#define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i))
#define rer(i,l,u) for(int (i)=(int)(l);(i)<=(int)(u);++(i))
#define reu(i,l,u) for(int (i)=(int)(l);(i)<(int)(u);++(i))
static const int INF = 0x3f3f3f3f; static const long long INFL = 0x3f3f3f3f3f3f3f3fLL;
typedef vector<int> vi; typedef pair<int, int> pii; typedef vector<pair<int, int> > vpii; typedef long long ll;
template<typename T, typename U> static void amin(T &x, U y) { if(y < x) x = y; }
template<typename T, typename U> static void amax(T &x, U y) { if(x < y) x = y; }

int main() {
	int N;
	while(~scanf("%d", &N)) {
		vector<vector<bool>> board(N, vector<bool>(N));
		rep(i, N) rep(j, N)
			board[i][j] = (i + j) % 2 == 0;
		rep(i, N) board[i][0] = board[i][N - 1] = true;
		rep(j, N) board[0][j] = board[N - 1][j] = true;
		rer(k, 1, 20) {
			rep(i, N >> (k - 1)) rep(j, N >> (k - 1)) if((i + j) % 2 == 1) {
				int y = ((i + 1) << k);
				int x = ((j + 1) << k) - 1;
				if(y < N && x < N)
					board[y][x] = true;
			}
		}
		vpii ans;
		rep(i, N) rep(j, N) if(board[i][j] != ((i + j) % 2 == 0)) {
			assert(board[i][j]);
			ans.emplace_back(i, j);
		}
		printf("%d\n", (int)ans.size());
		for(int i = 0; i < (int)ans.size(); ++ i)
			printf("%d %d\n", ans[i].first, ans[i].second);
	}
	return 0;
}

Submission Info

Submission Time
Task J - Connected Checkerboard
User anta
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1352 Byte
Status AC
Exec Time 35 ms
Memory 3188 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 22
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt
Case Name Status Exec Time Memory
sample_01.txt AC 3 ms 256 KB
sample_02.txt AC 3 ms 256 KB
subtask1_01.txt AC 4 ms 384 KB
subtask1_02.txt AC 3 ms 256 KB
subtask1_03.txt AC 7 ms 640 KB
subtask1_04.txt AC 4 ms 384 KB
subtask1_05.txt AC 13 ms 1276 KB
subtask1_06.txt AC 19 ms 1780 KB
subtask1_07.txt AC 5 ms 640 KB
subtask1_08.txt AC 20 ms 1780 KB
subtask1_09.txt AC 18 ms 1652 KB
subtask1_10.txt AC 35 ms 3060 KB
subtask1_11.txt AC 34 ms 3060 KB
subtask1_12.txt AC 33 ms 2932 KB
subtask1_13.txt AC 35 ms 3060 KB
subtask1_14.txt AC 34 ms 3060 KB
subtask1_15.txt AC 33 ms 2932 KB
subtask1_16.txt AC 33 ms 2928 KB
subtask1_17.txt AC 33 ms 2932 KB
subtask1_18.txt AC 33 ms 2932 KB
subtask1_19.txt AC 35 ms 3060 KB
subtask1_20.txt AC 35 ms 3188 KB