結果

問題 No.2085 Directed Complete Graph
ユーザー tails
提出日時 2022-09-29 20:19:41
言語 Perl
(5.40.0)
結果
AC  
実行時間 104 ms / 2,000 ms
コード長 681 bytes
コンパイル時間 533 ms
コンパイル使用メモリ 5,376 KB
実行使用メモリ 25,580 KB
平均クエリ数 2458.82
最終ジャッジ日時 2024-12-22 18:19:34
合計ジャッジ時間 3,329 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 15
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.pl syntax OK

ソースコード

diff #

# hayai kana?

sub f{
	my($i)=@_;
	if($a[$i][1]==-2){
		$a[$i][0]=-1;
	}else{
		my$c1=$i*2+1;
		my$c2=$i*2+2;
		my$c;
		if($a[$c1][0]<0){
			$c=$c2;
		}elsif($a[$c2][0]<0){
			$c=$c1;
		}elsif($a[$i][1]>=0){
			$c=$i[$a[$i][1]]?$c1:$c2;
		}
		if($c){
			$a[$i][1]=-1;
			$a[$i][0]=$a[$c][0];
			$a[$c][0]=0;
		}
		if($a[$c1][0]==0){
			f($c1);
		}
		if($a[$c2][0]==0){
			f($c2);
		}
		if($a[$c1][0]>0&&$a[$c2][0]>0){
			$a[$i][1]=$iid++;
			print"? $a[$c1][0] $a[$c2][0]\n";
		}
	}
}

$n=<>;
@a=(map([0,-1],0..$n-2),map([$_,-2],1..$n));

while(@b<$n){
	f(0);
	if($a[0][0]>0){
		push@b,$a[0][0];
		$a[0][0]=0;
	}
	$|=1;
	$|=0;
	while(@i<$iid){
		push@i,0+<>;
	}
}

print"!
$#b
@b"
0