Submission #9189949


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int MX = 1005;

char s[MX][MX];

int from[MX];

string SIX[6]  = {"aabb..", "b..cc.", "ba....", ".a..aa", "..a..b", "..a..b"};

string FIVE[5] = {"aabbc",
	              "dee.c",
	              "d..fg",
	              "h..fg",
	              "hssjj"};

string FOUR[4] = {"aabc",
	              "ddbc",
	              "fghh",
	              "fgjj"};

int main()
{
	from[0] = -1;
	for (int x : {4, 5, 7}) {
		for (int i = 0; i + x <= 1000; i++) {
			if (from[i]) from[i + x] = x;
		}
	}
	
	int n;
	ignore = scanf("%d", &n);
	
	if (n <= 2) {
		printf("-1\n");
		return 0;
	}
	
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			s[i][j] = '.';
		}
	}
	
	if (n % 3 == 0) {
		for (int i = 0; i < n; i += 3) {
			s[i][i] = s[i][i + 1] = 'a';
			s[i][i + 2] = s[i + 1][i + 2] = 'b';
			s[i + 2][i + 2] = s[i + 2][i + 1] = 'c';
			s[i + 2][i] = s[i + 1][i] = 'd';
		}
		for (int i = 0; i < n; i++) {
			printf("%s\n", s[i]);
		}
		return 0;
	}
	
	int cur = n;
	int i = 0;
	while (cur > 0) {
		if (from[cur] == 4) {
			for (int j = 0; j < 4; j++) {
				for (int k = 0; k < 4; k++) {
					s[i + j][i + k] = FOUR[j][k];
				}
			}
		}
		else if (from[cur] == 5) {
			for (int j = 0; j < 5; j++) {
				for (int k = 0; k < 5; k++) {
					s[i + j][i + k] = FIVE[j][k];
				}
			}
		}
		else if (from[cur] == 7) {
			for (int j = 0; j < 6; j++) {
				for (int k = 0; k < 6; k++) {
					s[i + j][i + k] = SIX[j][k];
				}
			}
			s[i][i + 6] = s[i + 1][i + 6] = 'z';
			s[i + 2][i + 6] = s[i + 3][i + 6] = 'y';
			s[i + 4][i + 6] = s[i + 5][i + 6] = 'x';
			s[i + 6][i] = s[i + 6][i + 1] = 'q';
			s[i + 6][i + 2] = s[i + 6][i + 3] = 'w';
			s[i + 6][i + 4] = s[i + 6][i + 5] = 'e'; 
		}
		
		i += from[cur];
		cur -= from[cur];
	}
	
	for (int j = 0; j < n; j++) {
		printf("%s\n", s[j]);
	}
}

Submission Info

Submission Time
Task C - Domino Quality
User kristapuciitis
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1965 Byte
Status AC
Exec Time 3 ms
Memory 2176 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 2
AC × 59
Set Name Test Cases
Sample 00-sample-01.txt, 00-sample-02.txt
All 00-sample-01.txt, 00-sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt, 01-57.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 1 ms 256 KiB
00-sample-02.txt AC 1 ms 256 KiB
01-01.txt AC 1 ms 256 KiB
01-02.txt AC 1 ms 256 KiB
01-03.txt AC 1 ms 256 KiB
01-04.txt AC 1 ms 256 KiB
01-05.txt AC 1 ms 256 KiB
01-06.txt AC 1 ms 256 KiB
01-07.txt AC 1 ms 256 KiB
01-08.txt AC 1 ms 256 KiB
01-09.txt AC 1 ms 256 KiB
01-10.txt AC 1 ms 256 KiB
01-11.txt AC 1 ms 256 KiB
01-12.txt AC 1 ms 256 KiB
01-13.txt AC 1 ms 256 KiB
01-14.txt AC 1 ms 256 KiB
01-15.txt AC 1 ms 256 KiB
01-16.txt AC 1 ms 256 KiB
01-17.txt AC 1 ms 256 KiB
01-18.txt AC 1 ms 256 KiB
01-19.txt AC 1 ms 256 KiB
01-20.txt AC 1 ms 512 KiB
01-21.txt AC 1 ms 384 KiB
01-22.txt AC 1 ms 256 KiB
01-23.txt AC 1 ms 640 KiB
01-24.txt AC 2 ms 896 KiB
01-25.txt AC 2 ms 896 KiB
01-26.txt AC 2 ms 896 KiB
01-27.txt AC 1 ms 768 KiB
01-28.txt AC 1 ms 384 KiB
01-29.txt AC 1 ms 640 KiB
01-30.txt AC 2 ms 1280 KiB
01-31.txt AC 2 ms 1408 KiB
01-32.txt AC 2 ms 1152 KiB
01-33.txt AC 2 ms 1408 KiB
01-34.txt AC 2 ms 1280 KiB
01-35.txt AC 2 ms 1664 KiB
01-36.txt AC 2 ms 1664 KiB
01-37.txt AC 2 ms 896 KiB
01-38.txt AC 3 ms 1920 KiB
01-39.txt AC 2 ms 1664 KiB
01-40.txt AC 2 ms 1792 KiB
01-41.txt AC 2 ms 1536 KiB
01-42.txt AC 3 ms 2176 KiB
01-43.txt AC 2 ms 1152 KiB
01-44.txt AC 3 ms 1920 KiB
01-45.txt AC 3 ms 2176 KiB
01-46.txt AC 3 ms 2176 KiB
01-47.txt AC 3 ms 2176 KiB
01-48.txt AC 3 ms 2176 KiB
01-49.txt AC 3 ms 2176 KiB
01-50.txt AC 3 ms 2176 KiB
01-51.txt AC 3 ms 2176 KiB
01-52.txt AC 3 ms 2176 KiB
01-53.txt AC 3 ms 2176 KiB
01-54.txt AC 3 ms 2176 KiB
01-55.txt AC 3 ms 2176 KiB
01-56.txt AC 3 ms 2176 KiB
01-57.txt AC 3 ms 2176 KiB