結果

問題 No.197 手品
ユーザー koyopro
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

# -*- 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'

0