Submission #2171277


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 (f[j])
					{
						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 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]) {
					boolean next = true;

					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)) {
							next = false;
							break;
						}
						if (c[j] != 0 && c[j] == i + 1 + (n - j)) {
							next = false;
							break;
						}
					}
					System.err.println();

					if (next) {
						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 0
Code Size 1797 Byte
Status WA
Exec Time 93 ms
Memory 22100 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 40
WA × 2
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 72 ms 18900 KB
00_sample2.txt AC 75 ms 21204 KB
01_rnd_00.txt AC 79 ms 19412 KB
01_rnd_01.txt AC 73 ms 21204 KB
01_rnd_02.txt AC 93 ms 21972 KB
01_rnd_03.txt AC 77 ms 21204 KB
01_rnd_04.txt AC 67 ms 19284 KB
01_rnd_05.txt AC 80 ms 21460 KB
01_rnd_06.txt AC 81 ms 18772 KB
01_rnd_07.txt AC 85 ms 21332 KB
01_rnd_08.txt AC 69 ms 17620 KB
01_rnd_09.txt AC 79 ms 18772 KB
01_rnd_10.txt AC 67 ms 19412 KB
01_rnd_11.txt AC 82 ms 20180 KB
01_rnd_12.txt AC 79 ms 20820 KB
01_rnd_13.txt AC 75 ms 21332 KB
01_rnd_14.txt AC 70 ms 19156 KB
01_rnd_15.txt AC 68 ms 19796 KB
01_rnd_16.txt AC 74 ms 17492 KB
01_rnd_17.txt WA 74 ms 21332 KB
01_rnd_18.txt AC 73 ms 17620 KB
01_rnd_19.txt AC 75 ms 17876 KB
01_rnd_20.txt AC 71 ms 20692 KB
01_rnd_21.txt AC 85 ms 22100 KB
01_rnd_22.txt AC 69 ms 21332 KB
01_rnd_23.txt AC 76 ms 19156 KB
01_rnd_24.txt AC 79 ms 19028 KB
01_rnd_25.txt AC 91 ms 19412 KB
01_rnd_26.txt AC 70 ms 18260 KB
01_rnd_27.txt AC 73 ms 21332 KB
01_rnd_28.txt AC 84 ms 19796 KB
01_rnd_29.txt AC 74 ms 21332 KB
01_rnd_30.txt AC 86 ms 18260 KB
01_rnd_31.txt AC 87 ms 21972 KB
01_rnd_32.txt AC 74 ms 19028 KB
01_rnd_33.txt AC 84 ms 20052 KB
01_rnd_34.txt AC 71 ms 18260 KB
01_rnd_35.txt AC 71 ms 20948 KB
01_rnd_36.txt AC 88 ms 21844 KB
01_rnd_37.txt WA 75 ms 18388 KB
01_rnd_38.txt AC 77 ms 21200 KB
01_rnd_39.txt AC 88 ms 18644 KB