結果

問題 No.2069 み世界数式
ユーザー tails
提出日時 2022-09-09 14:21:49
言語 Perl
(5.40.0)
結果
AC  
実行時間 513 ms / 2,000 ms
コード長 575 bytes
コンパイル時間 579 ms
コンパイル使用メモリ 6,948 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-25 11:08:36
合計ジャッジ時間 3,602 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 41
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.pl syntax OK

ソースコード

diff #

($m,$ans)=glob<>;
$_=<>;
0while
s{(\w+)|(&)\B(?![(])|(\$)\B(?![&(])|(\(\))}{
	if(defined$1){
		push@a,{$1,$1};
	}
	if($2|$3){
		$b=pop@a;
		$a=pop@a;
		push@a,$r={};
		for$x(keys%$a){
			$u=$$a{$x};
			for$y(keys%$b){
				$v=$$b{$y};
				if($2){
					if($y!=0){
						$$r{int$x/$y}="$u/$v";
					}
					if($x*$y<=$m){
						$$r{$x*$y}="$u*$v";
					}
				}
				if($3){
					if($x-$y>=0){
						$$r{$x-$y}="$u-$v";
					}
					if($x+$y<=$m){
						$$r{$x+$y}="$u+$v";
					}
				}
			}
		}
	}
	if($4){
		for(values%{$a[-1]}){
			$_="($_)";
		}
	}
}e;
print$a[0]{$ans}||-1,$/;
0