結果
問題 | No.197 手品 |
ユーザー |
![]() |
提出日時 | 2015-09-20 19:57:08 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 11 ms / 1,000 ms |
コード長 | 861 bytes |
コンパイル時間 | 104 ms |
コンパイル使用メモリ | 6,944 KB |
実行使用メモリ | 6,272 KB |
最終ジャッジ日時 | 2024-07-20 03:42:33 |
合計ジャッジ時間 | 1,536 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
ソースコード
# -*- 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) diff = abs(odd_pos_a - odd_pos_b) if n >= diff: # 移動回数が差分以上ならあり得る if n == 1 and diff == 0: if odd_pos_b == 1: # ありえない print 'SUCCESS' else: print 'FAILURE' exit() print 'FAILURE' else: print 'SUCCESS'