Submission #6977076


Source Code Expand

#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;

bool flag[15],le[30],ri[30];
int a[15];

void dfs(int num) {
	if (num>8) {
		for (int i=1;i<=8;i++) {
			for (int j=1;j<=8;j++) {
				if (j==a[i]) {
					cout << "Q";
				}
				else {
					cout << ".";
				}
			}
			cout << endl;
		}
		exit (0);
	}
	if (a[num]!=0) {
		dfs(num+1);
	}
	else {
		for (int i=1;i<=8;i++) {
		if (!flag[i]&&!le[num+i]&&!ri[num-i+8]) {
			a[num]=i;
			flag[i]=true;
			le[num+i]=true;
			ri[num-i+8]=true;
			dfs(num+1);
			a[num]=0;
			flag[i]=false;
			le[num+i]=false;
			ri[num-i+8]=false;
		}
	}
	}
}

int main() {
	char temp;
	for (int i=1;i<=8;i++) {
		for (int j=1;j<=8;j++) {
			cin >> temp;
			if (temp=='Q') {
				a[i]=j;
				if (flag[j]||le[i+j]||ri[i-j+8]) {
					cout << "No Answer\n";
					return 0;
				}
				flag[j]=true;
				le[i+j]=true;
				ri[i-j+8]=true;
			}
		}
	}
	dfs(1);
	cout << "No Answer\n";
	return 0;
}

Submission Info

Submission Time
Task C - パズルのお手伝い
User luogu_bot1
Language C++ (GCC 5.4.1)
Score 0
Code Size 1001 Byte
Status CE

Compile Error

./Main.cpp: In function ‘void dfs(int)’:
./Main.cpp:22:10: error: ‘exit’ was not declared in this scope
   exit (0);
          ^