結果
問題 | No.441 和か積 |
ユーザー |
|
提出日時 | 2017-03-14 21:28:40 |
言語 | PHP (843.2) |
結果 |
AC
|
実行時間 | 45 ms / 1,000 ms |
コード長 | 1,370 bytes |
コンパイル時間 | 639 ms |
コンパイル使用メモリ | 32,276 KB |
実行使用メモリ | 32,404 KB |
最終ジャッジ日時 | 2024-06-27 03:46:42 |
合計ジャッジ時間 | 3,627 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php // No. 441 $args = explode(" ", trim(fgets(STDIN))); $a = $args[0]; $b = $args[1]; /* * A + B = A * B と仮定したとき * A = 0 とすると、条件から B = 0 となり、これは常に成り立つ。 * -> A = AB - B * -> A = B(A - 1) * -> B = A / (A - 1) * A,Bは非負整数なので、A / (A - 1) が正の整数になるのは A = 2 のときのみ。 * A = 2 のとき、B = 2 * * A + B > A * B と仮定したとき * A = 0 とすると、条件から B > 0 となり、Bが1以上のとき常に成り立つ。B = 0 のときも同様。 * A = 1 とすると、条件から 1 + B > B となり、これは常に成り立つ。B = 1 のときも同様。 * A >= 2 のとき * -> A > AB - B * -> A > B(A - 1) * -> 1 > B(A - 1) / A * これを満たす、 A (>=2), B (>2) のペアは存在しない。 */ $a = check($a); $b = check($b); if (($a == 0) && ($b == 0)) { echo "E".PHP_EOL; } else if (($a == 2) && ($b == 2)) { echo "E".PHP_EOL; } else if (($a * $b) == 0) { echo "S".PHP_EOL; } else if (($a == 1) || ($b == 1)) { echo "S".PHP_EOL; } else { echo "P".PHP_EOL; } function check($i) { if (strlen($i) > 2) { // 2桁以上の場合はどれでも同じなので、計算可能な数値に置き換え return (int) 10; } else { // 1桁の数値はそのまま返す return (int) $i; } }