結果
問題 | No.197 手品 |
ユーザー |
|
提出日時 | 2022-10-24 13:39:24 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 30 ms / 1,000 ms |
コード長 | 1,812 bytes |
コンパイル時間 | 153 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-07-02 16:24:24 |
合計ジャッジ時間 | 2,875 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
ソースコード
class Magic: PATTERN = { 0: {(1, 2, 3)}, 1: {(2, 1, 3), (1, 3, 2)}, 2: {(1, 2, 3), (2, 3, 1), (3, 1, 2)}, 3: {(2, 1, 3), (1, 3, 2), (3, 2, 1)} } def __init__(self, initial: str) -> None: assert len(initial) == 3 self.__initial = initial def is_possible(self, num: int, current: str) -> bool: assert len(current) == 3 match num: case 0: return self.__initial == current case 1: for pattern in self.PATTERN[1]: possible_case = "" for idx in pattern: possible_case += self.__initial[idx - 1] if possible_case == current: return True else: return False case _: pass match num % 2: case 0: for pattern in self.PATTERN[2]: possible_case = "" for idx in pattern: possible_case += self.__initial[idx - 1] if possible_case == current: return True return False case 1: for pattern in self.PATTERN[3]: possible_case = "" for idx in pattern: possible_case += self.__initial[idx - 1] if possible_case == current: return True return False def main(): before = input() N = int(input()) after = input() magic = Magic(before) if magic.is_possible(N, after): print("FAILURE") else: print("SUCCESS") if __name__ == "__main__": main()