結果

問題 No.2069 み世界数式
ユーザー tailstails
提出日時 2022-09-09 11:45:35
言語 Perl
(5.40.0)
結果
AC  
実行時間 689 ms / 2,000 ms
コード長 673 bytes
コンパイル時間 318 ms
コンパイル使用メモリ 6,816 KB
実行使用メモリ 43,776 KB
最終ジャッジ日時 2024-11-25 08:39:25
合計ジャッジ時間 4,165 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 41
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.pl syntax OK

ソースコード

diff #

($m,$a)=glob<>;
$_=<>;
$v=Aaaaa;

0while
	s{\d+}{
		++$v;
		$$v{$&}=$&;
		$v
	}e||
	s{\((\w+)\)}{
		++$v;
		for$xk(keys%$1){
			$xv=$$1{$xk};
			$$v{$xk}="($xv)";
		}
		$v
	}e||
	s{(?<!&)\b(\w+)&(\w+)}{
		++$v;
		for$xk(keys%$1){
			$xv=$$1{$xk};
			for$yk(keys%$2){
				$yv=$$2{$yk};
				if($yk!=0){
					$$v{int$xk/$yk}="$xv/$yv";
				}
				if($xk*$yk<=$m){
					$$v{$xk*$yk}="$xv*$yv";
				}
			}
		}
		$v
	}e||
	s{(\w+)\$(\w+)\b(?!&)}{
		++$v;
		for$xk(keys%$1){
			$xv=$$1{$xk};
			for$yk(keys%$2){
				$yv=$$2{$yk};
				if($xk-$yk>=0){
					$$v{$xk-$yk}="$xv-$yv";
				}
				if($xk+$yk<=$m){
					$$v{$xk+$yk}="$xv+$yv";
				}
			}
		}
		$v
	}e;

print$$v{$a}||-1,$/
0