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