Submission #1877406


Source Code Expand

Copy
#include <bits/stdc++.h>
 
#define REP(i,n) for(int i=0; i<(int)(n); ++i)
#define FOR(i,k,n) for(int i=(k);i<(int)(n);++i)
typedef long long int ll;
using namespace std;

int dx3[160010];
int dy3[160010];
int *dx = dx3+8001;
int *dy = dy3+8001;

int dx4[160010];
int dy4[160010];
int *dx2 = dx4+8001;
int *dy2 = dy4+8001;

int main(void) {
    string s;
    cin >> s;
    int gx, gy;
    cin >> gx >> gy;

    bool isX = true;
    bool isFirst = true;
    int t = 0;
    vector<int> X, Y;
    for(int i=0; i<s.size(); ++i) {
        if(s[i] == 'F') t++;
        if(s[i] == 'T' || i==s.size()-1) {
            if(isX) {
                X.push_back(t);
            } else {
                Y.push_back(t);
            }
            t = 0;
            isX = !isX;
        }
    }
    vector<int> px;
    px.push_back(X[0]);
    for(int i=1; i<X.size(); ++i) {
        vector<int> tx;
        int t = X[i];
        for(auto x : px) {
            tx.push_back(x+t);
            tx.push_back(x-t);
        }
        px = tx;
    }
    vector<int> py;
    py.push_back(0);
    for(int i=0; i<Y.size(); ++i) {
        vector<int> ty;
        int t = Y[i];
        for(auto y : py) {
            ty.push_back(y+t);
            ty.push_back(y-t);
        }
        py = ty;
    }
    bool okX = false;
    bool okY = false;

    for(auto x : px) {
        if(x == gx) {
            okX = true;
        }
    }
    for(auto y : py) {
        if(y == gy) {
            okY = true;
        }
    }

    if(okX && okY) cout << "Yes" << endl;
    else cout << "No" << endl;
}

Submission Info

Submission Time
Task D - FT Robot
User kivantium
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1637 Byte
Status

Test Cases

Set Name Score / Max Score Test Cases
Sample 0 / 0 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 0_05.txt
All 0 / 500 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 0_05.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt
Case Name Status Exec Time Memory
0_00.txt 1 ms 256 KB
0_01.txt 1 ms 256 KB
0_02.txt 1 ms 256 KB
0_03.txt 1 ms 256 KB
0_04.txt 1 ms 256 KB
0_05.txt 1 ms 256 KB
1_00.txt 1 ms 256 KB
1_01.txt 1 ms 256 KB
1_02.txt 1 ms 256 KB
1_03.txt 1 ms 256 KB
1_04.txt 1 ms 256 KB
1_05.txt 1 ms 256 KB
1_06.txt
1_07.txt
1_08.txt
1_09.txt
1_10.txt
1_11.txt
1_12.txt
1_13.txt
1_14.txt
1_15.txt
1_16.txt
1_17.txt
1_18.txt
1_19.txt
1_20.txt
1_21.txt
1_22.txt
1_23.txt
1_24.txt
1_25.txt
1_26.txt
1_27.txt
1_28.txt
1_29.txt
1_30.txt
1_31.txt
1_32.txt
1_33.txt
1_34.txt
1_35.txt
1_36.txt
1_37.txt
1_38.txt
1_39.txt
1_40.txt
1_41.txt
1_42.txt
1_43.txt
1_44.txt
1_45.txt
1_46.txt
1_47.txt
1_48.txt
1_49.txt