提出 #577498


ソースコード 拡げる

#include <cstdio>
#include <cstring>
#include <vector>
#include <cmath>
#include <algorithm>
#include <map>
#include <queue>
#include <string>
#include <iostream>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;

int main()
{   
    // freopen("in","r",stdin);
    string s1,s2;
    cin >> s1 >> s2;
    bool sw = 1;
    string tmp = "";
    int p1=0,p2=0;
    bool haveAns = false;
    for(int i=0;i<s1.length();i++){
        if(p1>=s1.length() || p2>=s2.length())
            break;
        if(sw){
            if(s1[p1]==s1[i]){
                tmp += s1[p1];
                p1++;
            }
            else{
                while(s1[p1]!=s1[i] && p1 < s1.length()){
                    p1++;
                }
                if(p1 < s1.length() && s1[p1]==s1[i]){
                    tmp += s1[p1];
                    p1++;
                }
            }
            sw = !sw;
        }
        else{
            if(s2[p2]==s1[i]){
                tmp += s2[p2];
                p2++;
            }
            else{
                while(s2[p2]!=s1[i] && p2 < s2.length()){
                    p2++;
                }
                if(p2 < s2.length() && s2[p2]==s1[i]){
                    tmp += s2[p2];
                    p2++;
                }
            }
            sw = !sw;
        }
    }
    // cout << p1 << " " << p2 << endl;    
    // cout << tmp << endl;
    if(s1 == tmp)
        haveAns = true;
    sw = 1;
    p1 = 0,p2 = 0;
    tmp = "";
    for(int i=0;i<s1.length();i++){
        if(p1>=s1.length() || p2>=s2.length())
            break;
        if(!sw){
            if(s1[p1]==s1[i]){
                tmp += s1[p1];
                p1++;
            }
            else{
                while(s1[p1]!=s1[i] && p1 < s1.length()){
                    p1++;
                }
                if(p1 < s1.length() && s1[p1]==s1[i]){
                    tmp += s1[p1];
                    p1++;
                }
            }
            sw = !sw;
        }
        else{
            if(s2[p2]==s1[i]){
                tmp += s2[p2];
                p2++;
            }
            else{
                while(s2[p2]!=s1[i] && p2 < s2.length()){
                    p2++;
                }
                if(p2 < s2.length() && s2[p2]==s1[i]){
                    tmp += s2[p2];
                    p2++;
                }
            }
            sw = !sw;
        }
    }
    if(s1 == tmp)
        puts("Yes");
    else if(haveAns)
        puts("Yes");
    else
        puts("No");

    return 0;
}

提出情報

提出日時
問題 A - M and A
ユーザ SunNEET
言語 C++ (G++ 4.6.4)
得点 100
コード長 2667 Byte
結果 AC
実行時間 31 ms
メモリ 1052 KiB

ジャッジ結果

セット名 All
得点 / 配点 100 / 100
結果
AC × 47
セット名 テストケース
All 00_sample_00, 00_sample_01, 00_sample_02, 01_small_00, 01_small_01, 01_small_02, 01_small_03, 01_small_04, 01_small_05, 01_small_06, 01_small_07, 01_small_08, 01_small_09, 01_small_10, 01_small_11, 01_small_12, 01_small_13, 01_small_14, 01_small_15, 01_small_16, 01_small_17, 01_small_18, 01_small_19, 02_large_00, 02_large_01, 02_large_02, 02_large_03, 02_large_04, 02_large_05, 02_large_06, 02_large_07, 02_large_08, 02_large_09, 03_max_00, 03_max_01, 03_max_02, 03_max_03, 03_max_04, 03_max_05, 04_abab_00, 04_abab_01, 04_abab_02, 04_abab_03, 04_abab_04, 99_corner_00, 99_corner_01, 99_corner_02
ケース名 結果 実行時間 メモリ
00_sample_00 AC 27 ms 1044 KiB
00_sample_01 AC 27 ms 1044 KiB
00_sample_02 AC 27 ms 1044 KiB
01_small_00 AC 26 ms 1048 KiB
01_small_01 AC 26 ms 1048 KiB
01_small_02 AC 26 ms 1044 KiB
01_small_03 AC 26 ms 1048 KiB
01_small_04 AC 29 ms 992 KiB
01_small_05 AC 31 ms 988 KiB
01_small_06 AC 28 ms 1040 KiB
01_small_07 AC 27 ms 1048 KiB
01_small_08 AC 29 ms 936 KiB
01_small_09 AC 27 ms 1048 KiB
01_small_10 AC 27 ms 1048 KiB
01_small_11 AC 27 ms 1044 KiB
01_small_12 AC 28 ms 1044 KiB
01_small_13 AC 26 ms 1048 KiB
01_small_14 AC 26 ms 1048 KiB
01_small_15 AC 25 ms 1044 KiB
01_small_16 AC 26 ms 1048 KiB
01_small_17 AC 26 ms 1048 KiB
01_small_18 AC 26 ms 1044 KiB
01_small_19 AC 26 ms 1048 KiB
02_large_00 AC 27 ms 1052 KiB
02_large_01 AC 27 ms 1052 KiB
02_large_02 AC 26 ms 1048 KiB
02_large_03 AC 26 ms 1028 KiB
02_large_04 AC 27 ms 1048 KiB
02_large_05 AC 26 ms 1044 KiB
02_large_06 AC 26 ms 1048 KiB
02_large_07 AC 28 ms 944 KiB
02_large_08 AC 26 ms 1044 KiB
02_large_09 AC 27 ms 1044 KiB
03_max_00 AC 26 ms 1048 KiB
03_max_01 AC 26 ms 1048 KiB
03_max_02 AC 26 ms 1048 KiB
03_max_03 AC 26 ms 1044 KiB
03_max_04 AC 26 ms 1048 KiB
03_max_05 AC 26 ms 1048 KiB
04_abab_00 AC 26 ms 1048 KiB
04_abab_01 AC 26 ms 1044 KiB
04_abab_02 AC 26 ms 1040 KiB
04_abab_03 AC 26 ms 1040 KiB
04_abab_04 AC 26 ms 1052 KiB
99_corner_00 AC 26 ms 1048 KiB
99_corner_01 AC 26 ms 1048 KiB
99_corner_02 AC 27 ms 1048 KiB