結果
| 問題 |
No.1306 Exactly 2 Digits
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2020-12-03 18:33:38 |
| 言語 | Perl (5.40.0) |
| 結果 |
AC
|
| 実行時間 | 71 ms / 2,000 ms |
| コード長 | 794 bytes |
| コンパイル時間 | 446 ms |
| コンパイル使用メモリ | 6,816 KB |
| 実行使用メモリ | 38,192 KB |
| 平均クエリ数 | 1236.78 |
| 最終ジャッジ日時 | 2024-07-17 08:51:04 |
| 合計ジャッジ時間 | 11,178 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 123 |
コンパイルメッセージ
Main.pl syntax OK
ソースコード
$n=<>;
if(!fork){
for$v(2..$n*($n-1)){
print "? $v 1\n";
}
exit;
}
for$v(2..$n*($n-1)){
$_=<>;
($a,$b)=split;
$k=($a+$n)*($n*2)+($b+$n);
push @$k,$v;
$amin=$a if $amin>$a;
$amax=$a if $amax<$a;
$bmin=$b if $bmin>$b;
$bmax=$b if $bmax<$b;
$c=$v if $a==$amin && $b==$bmax;
}
if($amax-$amin>$bmax-$bmin){
$na=1; $nb=$n;
}else{
$na=$n; $nb=1;
}
if(!fork){
for$k(0..$n*$n*4-1){
($v0,$v1)=@$k;
if($v1){
print "? $c $v0\n";
}
}
exit;
}
sub mkn{
($_[0]-$amin)*$na+($_[1]-$bmin)*$nb+$n;
}
$z[0]=mkn(0,0);
for$k(0..$n*$n*4-1){
($v0,$v1)=@$k;
if($v0){
$a=int($k/($n*2))-$n;
$b=$k%($n*2)-$n;
if($v1){
$_=<>;
($a1,$b1)=split;
if($b1-$a1>$bmax-$amin){
($v0,$v1)=($v1,$v0);
}
$z[$v1-1]=mkn($b,$a);
}
$z[$v0-1]=mkn($a,$b);
}
}
print "! @z\n";
tails