Submission #1755196


Source Code Expand

import sys
from collections import defaultdict, Counter
from itertools import product, groupby, count, permutations, combinations
from math import pi, sqrt, ceil, floor
from collections import deque
from bisect import bisect, bisect_left, bisect_right
from string import ascii_lowercase
INF = float("inf")
sys.setrecursionlimit(10**7)

# 4近傍(右, 下, 左, 上)
dy = [0, -1, 0, 1]
dx = [1, 0, -1, 0]


def inside(y: int, x: int, H: int, W: int) -> bool: return 0 <= y < H and 0 <= x < W


def can_set(y, x, field):
    if y >= 8:
        return True

    prev = field[y][x]
    field[y][x] = "Q"

    ng = False
    for i in range(8):
        ng |= (i, x) != (y, x) and field[i][x] == "Q"
        ng |= (y, i) != (y, x) and field[y][i] == "Q"
        ng |= (y - i, x - i) != (y, x) and inside(y - i, x - i, 8, 8) and field[y - i][x - i] == "Q"
        ng |= (y + i, x + i) != (y, x) and inside(y + i, x + i, 8, 8) and field[y + i][x + i] == "Q"
        ng |= (y + i, x - i) != (y, x) and inside(y + i, x - i, 8, 8) and field[y + i][x - i] == "Q"
        ng |= (y - i, x + i) != (y, x) and inside(y - i, x + i, 8, 8) and field[y - i][x + i] == "Q"
    if ng:
        field[y][x] = prev
        return False

    for i in range(8):
        if can_set(y + 1, i, field):
            return True

    field[y][x] = prev
    return False


def main():
    field = []
    for _ in range(8):
        field.append(list(input()))

    for x in range(8):
        if can_set(0, x, field):
            for line in field:
                print(*line, sep="")
            return
    print("No Answer")


if __name__ == '__main__':
    main()

Submission Info

Submission Time
Task C - パズルのお手伝い
User MitI_7
Language Python (3.4.3)
Score 100
Code Size 1635 Byte
Status AC
Exec Time 44 ms
Memory 4336 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 44 ms 4336 KB
00_sample2.txt AC 24 ms 3820 KB
01_rnd_00.txt AC 27 ms 3820 KB
01_rnd_01.txt AC 26 ms 3824 KB
01_rnd_02.txt AC 28 ms 3824 KB
01_rnd_03.txt AC 27 ms 3820 KB
01_rnd_04.txt AC 26 ms 3820 KB
01_rnd_05.txt AC 27 ms 3820 KB
01_rnd_06.txt AC 29 ms 3820 KB
01_rnd_07.txt AC 24 ms 3824 KB
01_rnd_08.txt AC 24 ms 3820 KB
01_rnd_09.txt AC 25 ms 3824 KB
01_rnd_10.txt AC 26 ms 3820 KB
01_rnd_11.txt AC 27 ms 3824 KB
01_rnd_12.txt AC 27 ms 3824 KB
01_rnd_13.txt AC 28 ms 3820 KB
01_rnd_14.txt AC 29 ms 3820 KB
01_rnd_15.txt AC 25 ms 3824 KB
01_rnd_16.txt AC 24 ms 3824 KB
01_rnd_17.txt AC 24 ms 3824 KB
01_rnd_18.txt AC 25 ms 3820 KB
01_rnd_19.txt AC 25 ms 3824 KB
01_rnd_20.txt AC 30 ms 3820 KB
01_rnd_21.txt AC 26 ms 3824 KB
01_rnd_22.txt AC 24 ms 3820 KB
01_rnd_23.txt AC 26 ms 3824 KB
01_rnd_24.txt AC 25 ms 3820 KB
01_rnd_25.txt AC 29 ms 3824 KB
01_rnd_26.txt AC 31 ms 3820 KB
01_rnd_27.txt AC 26 ms 3820 KB
01_rnd_28.txt AC 27 ms 3820 KB
01_rnd_29.txt AC 26 ms 3824 KB
01_rnd_30.txt AC 26 ms 3824 KB
01_rnd_31.txt AC 25 ms 3824 KB
01_rnd_32.txt AC 26 ms 3820 KB
01_rnd_33.txt AC 28 ms 3820 KB
01_rnd_34.txt AC 27 ms 3824 KB
01_rnd_35.txt AC 24 ms 3820 KB
01_rnd_36.txt AC 25 ms 3820 KB
01_rnd_37.txt AC 27 ms 3948 KB
01_rnd_38.txt AC 26 ms 3824 KB
01_rnd_39.txt AC 27 ms 3824 KB