結果
問題 |
No.197 手品
|
ユーザー |
![]() |
提出日時 | 2015-09-20 19:41:39 |
言語 | Python2 (2.7.18) |
結果 |
WA
|
実行時間 | - |
コード長 | 995 bytes |
コンパイル時間 | 59 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,272 KB |
最終ジャッジ日時 | 2024-06-27 13:04:49 |
合計ジャッジ時間 | 1,683 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 WA * 23 |
ソースコード
# -*- coding: utf-8 -*- sb, = map(str, raw_input().split()) n, = map(int, raw_input().split()) sa, = map(str, raw_input().split()) dic = {'x': 0, 'o': 0} for s in sb: dic[s] += 1 dicm = dic.copy() for s in sa: dic[s] -= 1 # 数が変われば手品成功 if dic['x'] != 0 or dic['o'] != 0: print 'SUCCESS' exit() # 0回: 変わっていれば成功 if n == 0: print 'SUCCESS' if sb != sa else 'FAILURE' exit() odd = 'x' if dicm['x'] % 2 == 1 else 'o' nodd = n % 2 == 1 odd_pos_b = sb.find(odd) odd_pos_a = sa.find(odd) if nodd: # 奇数回動かす場合 if odd_pos_b % 2 == odd_pos_a % 2: # 前後で位置が変わっていない print 'SUCCESS' else: # 前後で位置が変わった print 'FAILURE' else: # 偶数階動かす場合 if odd_pos_b % 2 == odd_pos_a % 2: # 前後で位置が変わっていない print 'FAILURE' else: # 前後で位置が変わった print 'SUCCESS'