結果
| 問題 |
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
%20