Submission #5201


Source Code Expand

#!perl
use strict;use warnings;our @result_board;my @board = ();for my $i (0..7) {my @temp = split(//, <>);push(@board, [@temp]);}my $result = &Q(0, @board);if ($result == 0) {print "No Answer\n";} else {for my $i (0..7) {for my $j (0..7) {print $board[$i][$j];}print "\n";}}sub Q {my ($depth, @board) = @_;my $flag = 0;for (my $i=0; $i<8; $i++) {$board[$depth][$i] eq 'Q' && ($flag = 1);}if ($flag == 1) {if ($depth == 7) {@result_board = @board;return 1;} else {&Q($depth+1, @board);}}for (my $i=0; $i<8; $i++) {my $r = &isCheck($depth, $i, @board);if ($r == 1) {next;} else {$board[$depth][$i] = 'Q';if ($depth == 7) {@result_board = @board;return 1;} my $c = &Q($depth+1, @board);if ($c == 1) {@result_board = @board;return 1;} else {$board[$depth][$i] = '.';}}}return 0;}sub isCheck {my ($depth, $position, @board) = @_;my $po;my $flag = 0;$po = $position;for (my $i=$depth-1; $i>=0; $i--) {$flag=1,last if ($board[$i][$po] eq 'Q');}$po = $position;for (my $i=$depth+1; $i<8; $i++) {$flag=1,last if ($board[$i][$po] eq 'Q');}$po = $position;for (my $i=$depth-1; $i>=0; $i--) {$po -= 1;last if $po<0;$flag=1,last if ($board[$i][$po] eq 'Q');}$po = $position;for (my $i=$depth-1; $i>=0; $i--) {$po += 1;last if $po>=8;$flag=1,last if ($board[$i][$po] eq 'Q');}$po = $position;for (my $i=$depth+1; $i<8; $i++) {$po -= 1;last if $po<0;$flag=1,last if ($board[$i][$po] eq 'Q');}$po = $position;for (my $i=$depth+1; $i<8; $i++) {$po +=1;last if $po>=8;$flag=1,last if ($board[$i][$po] eq 'Q');}return $flag;}

Submission Info

Submission Time
Task C - パズルのお手伝い
User Hemus
Language Perl (5.14.2)
Score 0
Code Size 1508 Byte
Status WA
Exec Time 39 ms
Memory 140 KB

Compile Error

./Main.pl syntax OK

Judge Result

Set Name all
Score / Max Score 0 / 100
Status
AC × 29
WA × 13
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 26 ms 128 KB
00_sample2.txt AC 32 ms 128 KB
01_rnd_00.txt WA 33 ms 128 KB
01_rnd_01.txt AC 27 ms 128 KB
01_rnd_02.txt AC 26 ms 128 KB
01_rnd_03.txt WA 28 ms 128 KB
01_rnd_04.txt AC 24 ms 128 KB
01_rnd_05.txt WA 28 ms 128 KB
01_rnd_06.txt AC 38 ms 128 KB
01_rnd_07.txt WA 37 ms 128 KB
01_rnd_08.txt AC 25 ms 128 KB
01_rnd_09.txt WA 26 ms 128 KB
01_rnd_10.txt AC 28 ms 128 KB
01_rnd_11.txt AC 27 ms 0 KB
01_rnd_12.txt AC 39 ms 128 KB
01_rnd_13.txt WA 29 ms 128 KB
01_rnd_14.txt AC 33 ms 128 KB
01_rnd_15.txt AC 31 ms 0 KB
01_rnd_16.txt AC 24 ms 128 KB
01_rnd_17.txt AC 26 ms 0 KB
01_rnd_18.txt AC 28 ms 128 KB
01_rnd_19.txt AC 25 ms 128 KB
01_rnd_20.txt AC 29 ms 128 KB
01_rnd_21.txt AC 27 ms 128 KB
01_rnd_22.txt AC 26 ms 128 KB
01_rnd_23.txt WA 39 ms 140 KB
01_rnd_24.txt WA 31 ms 128 KB
01_rnd_25.txt WA 31 ms 128 KB
01_rnd_26.txt WA 27 ms 128 KB
01_rnd_27.txt AC 29 ms 128 KB
01_rnd_28.txt AC 28 ms 0 KB
01_rnd_29.txt AC 26 ms 128 KB
01_rnd_30.txt AC 28 ms 128 KB
01_rnd_31.txt AC 36 ms 140 KB
01_rnd_32.txt AC 28 ms 128 KB
01_rnd_33.txt WA 38 ms 128 KB
01_rnd_34.txt AC 32 ms 128 KB
01_rnd_35.txt AC 28 ms 128 KB
01_rnd_36.txt AC 27 ms 128 KB
01_rnd_37.txt AC 28 ms 128 KB
01_rnd_38.txt WA 28 ms 0 KB
01_rnd_39.txt WA 29 ms 128 KB