Submission #2171335


Source Code Expand

import java.io.*;
import java.util.*;
import java.math.*;

public class Main {
	static boolean debug = false;
	static boolean debug2 = false;

	public static void main(String[] args) throws java.io.IOException {
		debug = 1 == args.length;
		debug2 = 2 == args.length;

		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

		boolean[] f = new boolean[8];
		int[] c = new int[8];
		for (int i = 0; i < 8; ++i) {
			char[] ca = in.readLine().toCharArray();
			for (int j = 0; j < ca.length; ++j) {
				if (ca[j] == 'Q') {
					if (0 != c[i] || f[j] || !valid(c, j, i))
					{
						System.out.println("No Answer");
						return;
					}
					c[i] = j + 1;
					f[j] = true;
				}
			}
		}

		if (!check(c, f, 0)) {
			System.out.println("No Answer");
		}
	}

	private static boolean valid(int[] c, int i, int n) {
		for (int j = 0; j < 8; ++j) {
			System.err.println("" + j + "," + c[j] + " " + j + "," + (i + 1 - (n - j)) + " " + j + "," + (i + 1 + (n - j)));
			if (c[j] != 0 && c[j] == i + 1 - (n - j)) {
				System.err.println();
				return false;
			}
			if (c[j] != 0 && c[j] == i + 1 + (n - j)) {
				System.err.println();
				return false;
			}
		}
		System.err.println();
		return true;
	}

	private static boolean check(int[] c, boolean[] f, int n) {
		if (8 == n) {
			for (int i = 0; i < 8; ++i) {
				char[] line = "........".toCharArray();
				line[c[i] - 1] = 'Q';
				System.out.println(line);
			}
			return true;
		}

		if (0 != c[n]) {
			if (check(c, f, n + 1)) {
				return true;
			}
		} else {
			for (int i = 0; i < 8; ++i) {
				if (!f[i]) {
					if (valid(c, i, n)) {
						f[i] = true;
						c[n] = i + 1;
						if (check(c, f, n + 1)) {
							return true;
						}
						f[i] = false;
						c[n] = 0;
					}
				}
			}
		}

		return false;
	}
}

Submission Info

Submission Time
Task C - パズルのお手伝い
User HeK7wnhs0
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 1880 Byte
Status AC
Exec Time 92 ms
Memory 23892 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 42
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 73 ms 19284 KB
00_sample2.txt AC 70 ms 18388 KB
01_rnd_00.txt AC 90 ms 21972 KB
01_rnd_01.txt AC 86 ms 18388 KB
01_rnd_02.txt AC 71 ms 21076 KB
01_rnd_03.txt AC 75 ms 18388 KB
01_rnd_04.txt AC 69 ms 17876 KB
01_rnd_05.txt AC 90 ms 18132 KB
01_rnd_06.txt AC 70 ms 21204 KB
01_rnd_07.txt AC 71 ms 20692 KB
01_rnd_08.txt AC 71 ms 21204 KB
01_rnd_09.txt AC 71 ms 21076 KB
01_rnd_10.txt AC 68 ms 17748 KB
01_rnd_11.txt AC 69 ms 20692 KB
01_rnd_12.txt AC 72 ms 18644 KB
01_rnd_13.txt AC 88 ms 17876 KB
01_rnd_14.txt AC 69 ms 19284 KB
01_rnd_15.txt AC 72 ms 22484 KB
01_rnd_16.txt AC 70 ms 16980 KB
01_rnd_17.txt AC 72 ms 18772 KB
01_rnd_18.txt AC 76 ms 19412 KB
01_rnd_19.txt AC 75 ms 21204 KB
01_rnd_20.txt AC 72 ms 20692 KB
01_rnd_21.txt AC 71 ms 17876 KB
01_rnd_22.txt AC 70 ms 22740 KB
01_rnd_23.txt AC 74 ms 19284 KB
01_rnd_24.txt AC 83 ms 21204 KB
01_rnd_25.txt AC 92 ms 23892 KB
01_rnd_26.txt AC 73 ms 20052 KB
01_rnd_27.txt AC 76 ms 19924 KB
01_rnd_28.txt AC 92 ms 18132 KB
01_rnd_29.txt AC 73 ms 20948 KB
01_rnd_30.txt AC 70 ms 20692 KB
01_rnd_31.txt AC 72 ms 19028 KB
01_rnd_32.txt AC 88 ms 20564 KB
01_rnd_33.txt AC 71 ms 19156 KB
01_rnd_34.txt AC 70 ms 19156 KB
01_rnd_35.txt AC 71 ms 20692 KB
01_rnd_36.txt AC 71 ms 21332 KB
01_rnd_37.txt AC 83 ms 19028 KB
01_rnd_38.txt AC 90 ms 19412 KB
01_rnd_39.txt AC 90 ms 19924 KB