結果
| 問題 | 
                            No.197 手品
                             | 
                    
| コンテスト | |
| ユーザー | 
                             kyabaria
                         | 
                    
| 提出日時 | 2018-09-12 20:39:24 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,040 bytes | 
| コンパイル時間 | 1,892 ms | 
| コンパイル使用メモリ | 167,756 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-06-27 15:45:32 | 
| 合計ジャッジ時間 | 3,029 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 40 WA * 3 | 
ソースコード
#include <bits/stdc++.h>
typedef long long ll;
#define INF 1000000000
#define MOD 1000000007
using namespace std;
bool same(string a,string b){
    if(a==b)return true;
    else return false;
}
bool check(string a,string b){
    string p1=a,p2=a;
    char tmp;
    tmp=p1[0];
    p1[0]=p1[1];
    p1[1]=tmp;
    tmp=p2[0];
    p2[0]=p2[1];
    p2[1]=tmp;
    return p1==b or p2==b;
}
int main(void){
    string before,after;
    cin>>before;
    ll n;
    cin>>n;
    cin>>after;
    int num_x_before=0,num_x_after=0;
    for(int i=0;i<3;i++){
        if(before[i]=='x')num_x_before++;
        if(after[i]=='x')num_x_after++;
    }
    string ans;
    if(num_x_before!=num_x_after){
        ans="SUCCESS";
    }else if(n>=2){
        ans="FAILURE";
    }else if(n==0){
        if(same(after,before)){
            ans="FAILURE";
        }else{
            ans="SUCCESS";
        }
    }else if(n==1){
        if(check(before,after)){
            ans="FAILURE";
        }else{
            ans="SUCCESS";
        }
    }
    cout<<ans<<endl;
}
            
            
            
        
            
kyabaria