結果
問題 | No.5002 stick xor |
ユーザー | %20 |
提出日時 | 2018-05-26 00:31:48 |
言語 | Perl (5.40.0) |
結果 |
AC
|
実行時間 | 904 ms / 1,000 ms |
コード長 | 733 bytes |
コンパイル時間 | 28,494 ms |
実行使用メモリ | 3,384 KB |
スコア | 39,737 |
最終ジャッジ日時 | 2018-05-26 00:32:18 |
ジャッジサーバーID (参考情報) |
judge8 / |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
コンパイルメッセージ
Name "main::K" used only once: possible typo at Main.pl line 2. Main.pl syntax OK
ソースコード
$,=$";$\=$/; ($N,$K)=glob<>; @s=sort{$b-$a}@L=glob<>; @A=map[/./g],map~~<>,1..$N; for$l(@s){ $C=-1; for$y(0..$N-1){ $c=0; for$x(0..$l-1){ $c+=$A[$y][$x] } if($c>$C){ $C=$c;$Y=$y;$X=$l-1 } for$x($l..$N-1){ $c+=$A[$y][$x]-$A[$y][$x-$l]; if($c>$C){ $C=$c;$Y=$y;$X=$x } } } $D=-1; for$x(0..$N-1){ $c=0; for$y(0..$l-1){ $c+=$A[$y][$x] } if($c>$D){ $D=$c;$YY=$l-1;$XX=$x } for$y($l..$N-1){ $c+=$A[$y][$x]-$A[$y-$l][$x]; if($c>$D){ $D=$c;$YY=$y;$XX=$x } } } if($C>$D){ push@$l,[$Y+1,$X-$l+2,$Y+1,$X+1]; for$x($X-$l+1..$X){ $A[$Y][$x]^=1 } }else{ push@$l,[$YY-$l+2,$XX+1,$YY+1,$XX+1]; for$y($YY-$l+1..$YY){ $A[$y][$XX]^=1 } } } print@{pop@$_}for@L