Submission #2865811


Source Code Expand

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define getc(i, j) (i-j+N)
#define getd(i, j) (i+j)
#define GG puts("Fuck")
const int N = 8;
bool a[20], b[20], c[20], d[20];
char map[20];
int ans[10][10];
void print() {
	for(int i = 1; i <= N; i ++ ) {
		for(int j = 1; j <= N; j ++ ) {
			if(ans[i][j]) std :: cout<<'Q';
			else std :: cout<<'.';
		}
		std :: cout << std :: endl;
	}
}
void Dfs(int pos) {
	// std :: cout << "Pos :: " << pos << std :: endl;
	// puts("*************************");
	// print();
	// puts("*************************");
	if(a[pos]) Dfs(pos+1);
	if(pos == N+1) {
		print();
		exit(0);
	}
	for(int j = 1; j <= N; j ++ ) {
		// if(pos == 2 && j == 5) {
		// 	std :: cout << "B :: " << b[j] << " C :: " << c[getc(pos, j)] << " D :: " << d[getd(pos, j)] << std :: endl;
		// }
		if(!a[pos] && !b[j] && !c[getc(pos, j)] && !d[getd(pos, j)]) {
			// if(pos == 3 && j == 7) GG;
			a[pos] = 1;
			b[j] = 1;
			c[getc(pos, j)] = 1;
			d[getd(pos, j)] = 1;
			ans[pos][j] = 1;
			Dfs(pos+1);
			a[pos] = 0;
			b[j] = 0;
			c[getc(pos, j)] = 0;
			d[getd(pos, j)] = 0;
			ans[pos][j] = 0;
		}
	}
}
int main() {
	std :: ios :: sync_with_stdio(false);
	for(int i = 1; i <= N; i ++ ) {
		scanf("%s", map+1);
		for(int j = 1; j <= N; j ++ ) {
			if(map[j] == 'Q') {
				a[i] = 1;
				b[j] = 1;
				c[getc(i, j)] = 1;
				d[getd(i, j)] = 1;
				ans[i][j] = 1;
			}
		}
	}
	// std :: cout << " D[7] :: " << d[7] << std :: endl;
	// for(int i = 1; i <= N; i ++ ) std :: cout << i << " A[i] :: " << a[i] << std :: endl;
	Dfs(1);
	std :: cout << "No Answer" << std :: endl;
}
/*
........
........
.......Q
........
..Q.....
........
.Q......
........
*/

Submission Info

Submission Time
Task C - パズルのお手伝い
User Yirannnn
Language C++ (GCC 5.4.1)
Score 0
Code Size 1790 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:55:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s", map+1);
                     ^

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 33
WA × 9
Set Name Test Cases
All 00_sample1.txt, 00_sample2.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 01_rnd_20.txt, 01_rnd_21.txt, 01_rnd_22.txt, 01_rnd_23.txt, 01_rnd_24.txt, 01_rnd_25.txt, 01_rnd_26.txt, 01_rnd_27.txt, 01_rnd_28.txt, 01_rnd_29.txt, 01_rnd_30.txt, 01_rnd_31.txt, 01_rnd_32.txt, 01_rnd_33.txt, 01_rnd_34.txt, 01_rnd_35.txt, 01_rnd_36.txt, 01_rnd_37.txt, 01_rnd_38.txt, 01_rnd_39.txt
Case Name Status Exec Time Memory
00_sample1.txt AC 1 ms 256 KB
00_sample2.txt AC 1 ms 256 KB
01_rnd_00.txt AC 1 ms 256 KB
01_rnd_01.txt AC 1 ms 256 KB
01_rnd_02.txt AC 1 ms 256 KB
01_rnd_03.txt AC 1 ms 256 KB
01_rnd_04.txt WA 1 ms 256 KB
01_rnd_05.txt AC 1 ms 256 KB
01_rnd_06.txt AC 1 ms 256 KB
01_rnd_07.txt AC 1 ms 256 KB
01_rnd_08.txt WA 1 ms 256 KB
01_rnd_09.txt AC 1 ms 256 KB
01_rnd_10.txt AC 1 ms 256 KB
01_rnd_11.txt AC 1 ms 256 KB
01_rnd_12.txt AC 1 ms 256 KB
01_rnd_13.txt AC 1 ms 256 KB
01_rnd_14.txt WA 1 ms 256 KB
01_rnd_15.txt AC 1 ms 256 KB
01_rnd_16.txt AC 1 ms 256 KB
01_rnd_17.txt WA 1 ms 256 KB
01_rnd_18.txt AC 1 ms 256 KB
01_rnd_19.txt AC 1 ms 256 KB
01_rnd_20.txt AC 1 ms 256 KB
01_rnd_21.txt AC 1 ms 256 KB
01_rnd_22.txt WA 1 ms 256 KB
01_rnd_23.txt AC 1 ms 256 KB
01_rnd_24.txt AC 1 ms 256 KB
01_rnd_25.txt AC 1 ms 256 KB
01_rnd_26.txt WA 1 ms 256 KB
01_rnd_27.txt AC 1 ms 256 KB
01_rnd_28.txt AC 1 ms 256 KB
01_rnd_29.txt AC 1 ms 256 KB
01_rnd_30.txt AC 1 ms 256 KB
01_rnd_31.txt AC 1 ms 256 KB
01_rnd_32.txt AC 1 ms 256 KB
01_rnd_33.txt AC 1 ms 256 KB
01_rnd_34.txt WA 1 ms 256 KB
01_rnd_35.txt WA 1 ms 256 KB
01_rnd_36.txt AC 1 ms 256 KB
01_rnd_37.txt WA 1 ms 256 KB
01_rnd_38.txt AC 1 ms 256 KB
01_rnd_39.txt AC 1 ms 256 KB