Submission #1239620


Source Code Expand

A = []
Xlist = [0,1,2,3,4,5,6,7]
Ylist = [0,1,2,3,4,5,6,7]
import copy

def checkQ(x,y):
	for n in range(8):
		if n != x:
			if A[y][n] == 'Q':
				return -1
		if n != y:
			if A[n][x] == 'Q':
				return -1
		if x - y + n >= 0 and x - y + n < 8 and y != n:
			if A[n][x - y + n] == 'Q':
				return -1
		if x + y - n >= 0 and x + y - n < 8 and y != n:
			if A[n][x + y - n] == 'Q' :
				return -1
	return 0

def putQ(x,y):
	A[y][x] = 'Q'
#	for n in range(8):
#		if n != x:
#			A[y][n] = 'x'
#		if n != y:
#			A[n][x] = 'x'
#		if x - y + n >= 0 and x - y + n < 8 and y != n:
#			A[n][x - y + n] = 'x'
#		if x + y - n >= 0 and x + y - n < 8 and y != n:
#			A[n][x + y - n] = 'x'

def iniQ():
	for n in range(8):
		for m in range(8):
			if A[m][n] =='Q':
				if checkQ(n,m):
					return -1
				else:
					putQ(n,m)
					Xlist.remove(n)
					Ylist.remove(m)
	return 0

def printboard():
	for n in range(8):
		print "".join(A[n])

def bfs(n):
	global A
	if n < 5:
		i = n
		while i < 5:
			if checkQ(Xlist[i],Ylist[n]) == 0:
				temp = Xlist[i]
				Xlist[i] = Xlist[n]
				Xlist[n] = temp
				R = copy.deepcopy(A)
				putQ(Xlist[n],Ylist[n])
				if bfs(n+1) == 0:
					return 0
				temp = Xlist[n]
				Xlist[n] = Xlist[i]
				Xlist[i] = temp
				A = copy.deepcopy(R)
			i += 1
		return 1
	else:
		return 0

for n in range(8):
	A.append(list(raw_input()))
if iniQ():
	print 'No Answer'
else:
	bfs(0)
	for n in range(5):
		putQ(Xlist[n],Ylist[n])
	printboard()
		

Submission Info

Submission Time
Task C - パズルのお手伝い
User takitaki
Language Python (2.7.6)
Score 0
Code Size 1535 Byte
Status WA
Exec Time 13 ms
Memory 2816 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 35
WA × 7
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 12 ms 2816 KB
00_sample2.txt AC 12 ms 2816 KB
01_rnd_00.txt WA 13 ms 2816 KB
01_rnd_01.txt AC 13 ms 2816 KB
01_rnd_02.txt AC 12 ms 2816 KB
01_rnd_03.txt WA 13 ms 2816 KB
01_rnd_04.txt AC 12 ms 2816 KB
01_rnd_05.txt WA 13 ms 2816 KB
01_rnd_06.txt AC 12 ms 2816 KB
01_rnd_07.txt AC 12 ms 2816 KB
01_rnd_08.txt AC 12 ms 2816 KB
01_rnd_09.txt AC 12 ms 2816 KB
01_rnd_10.txt AC 12 ms 2816 KB
01_rnd_11.txt AC 12 ms 2816 KB
01_rnd_12.txt AC 11 ms 2816 KB
01_rnd_13.txt AC 13 ms 2816 KB
01_rnd_14.txt AC 12 ms 2816 KB
01_rnd_15.txt AC 12 ms 2816 KB
01_rnd_16.txt AC 12 ms 2816 KB
01_rnd_17.txt AC 12 ms 2816 KB
01_rnd_18.txt AC 12 ms 2816 KB
01_rnd_19.txt AC 12 ms 2816 KB
01_rnd_20.txt AC 12 ms 2816 KB
01_rnd_21.txt AC 12 ms 2816 KB
01_rnd_22.txt AC 12 ms 2816 KB
01_rnd_23.txt WA 12 ms 2816 KB
01_rnd_24.txt AC 12 ms 2816 KB
01_rnd_25.txt AC 13 ms 2816 KB
01_rnd_26.txt AC 12 ms 2816 KB
01_rnd_27.txt AC 12 ms 2816 KB
01_rnd_28.txt WA 13 ms 2816 KB
01_rnd_29.txt AC 12 ms 2816 KB
01_rnd_30.txt AC 12 ms 2816 KB
01_rnd_31.txt AC 12 ms 2816 KB
01_rnd_32.txt AC 12 ms 2816 KB
01_rnd_33.txt AC 12 ms 2816 KB
01_rnd_34.txt AC 12 ms 2816 KB
01_rnd_35.txt AC 12 ms 2816 KB
01_rnd_36.txt AC 12 ms 2816 KB
01_rnd_37.txt AC 12 ms 2816 KB
01_rnd_38.txt WA 12 ms 2816 KB
01_rnd_39.txt WA 13 ms 2816 KB