Submission #2527328


Source Code Expand

#include <bits/stdc++.h>

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define rep(i,n) FOR(i,0,n)
#define RFOR(i,a,b) for(int i=(a)-1;i>=(b);i--)
#define rrep(i,n) RFOR(i,n,0)

using namespace std;

typedef long long ll;
typedef unsigned long long ull;

int main()
{
	cin.tie(0);
	ios::sync_with_stdio(false);

	string s;
	cin >> s;

	int x,y;
	cin >> x >> y;

	int n = s.size();

	vector<int> v;
	vector<int> h;

	bool hori = true;
	int cnt = 0;
	rep(i,n){
		char c = s[i];
		if(c == 'F') cnt++;
		else{
			if(hori) h.push_back(cnt);
			else v.push_back(cnt);
			hori = !hori;
			cnt = 0;
		}
	}

	if(cnt != 0){
		if(hori) h.push_back(cnt);
			else v.push_back(cnt);
	}

	int hlen = h.size();
	bool dph[hlen+1][16000];
	rep(i,hlen+1) rep(j,16000) dph[i][j] = false;
	dph[0][8000] = true;

	if(s[0] == 'F'){
		dph[1][8000+h[0]] = true;
	}else{
		dph[1][8000+h[0]] = true;
		dph[1][8000-h[0]] = true;
	}

	FOR(i,1,hlen){
		rep(j,16000){
			dph[i+1][j] |= dph[i+1][j];
			if(j+h[i] < 16000) dph[i+1][j] |= dph[i][j+h[i]];
			if(0 <= j-h[i]) dph[i+1][j] |= dph[i][j-h[i]];

		}
	}


	int vlen = v.size();
	bool dpv[vlen+1][16000];
	rep(i,vlen+1) rep(j,16000) dpv[i][j] = false;
	dpv[0][8000] = true;

	rep(i,vlen){
		rep(j,16000){
			dpv[i+1][j] |= dpv[i+1][j];
			if(j+v[i] < 16000) dpv[i+1][j] |= dpv[i][j+v[i]];
			if(0 <= j-v[i]) dpv[i+1][j] |= dpv[i][j-v[i]];

		}
	}

	cout << (dph[hlen][x+8000] && dpv[vlen][y+8000] ? "Yes" : "No") << endl;
}

Submission Info

Submission Time
Task D - FT Robot
User misora192
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1529 Byte
Status AC
Exec Time 266 ms
Memory 124288 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 6
AC × 56
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 0_05.txt
All 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 AC 1 ms 384 KB
0_01.txt AC 1 ms 384 KB
0_02.txt AC 1 ms 256 KB
0_03.txt AC 1 ms 384 KB
0_04.txt AC 1 ms 384 KB
0_05.txt AC 1 ms 384 KB
1_00.txt AC 1 ms 384 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 384 KB
1_03.txt AC 1 ms 384 KB
1_04.txt AC 1 ms 384 KB
1_05.txt AC 1 ms 384 KB
1_06.txt AC 133 ms 62848 KB
1_07.txt AC 133 ms 62848 KB
1_08.txt AC 178 ms 83712 KB
1_09.txt AC 178 ms 83712 KB
1_10.txt AC 179 ms 83712 KB
1_11.txt AC 178 ms 83712 KB
1_12.txt AC 89 ms 41984 KB
1_13.txt AC 89 ms 41984 KB
1_14.txt AC 133 ms 62848 KB
1_15.txt AC 133 ms 62848 KB
1_16.txt AC 133 ms 62848 KB
1_17.txt AC 133 ms 62848 KB
1_18.txt AC 131 ms 61440 KB
1_19.txt AC 131 ms 61568 KB
1_20.txt AC 131 ms 61440 KB
1_21.txt AC 133 ms 62592 KB
1_22.txt AC 133 ms 62464 KB
1_23.txt AC 132 ms 61824 KB
1_24.txt AC 134 ms 62976 KB
1_25.txt AC 131 ms 61440 KB
1_26.txt AC 259 ms 121600 KB
1_27.txt AC 266 ms 124288 KB
1_28.txt AC 131 ms 61440 KB
1_29.txt AC 133 ms 62464 KB
1_30.txt AC 68 ms 31872 KB
1_31.txt AC 64 ms 30080 KB
1_32.txt AC 35 ms 16384 KB
1_33.txt AC 34 ms 15744 KB
1_34.txt AC 18 ms 7936 KB
1_35.txt AC 17 ms 7424 KB
1_36.txt AC 10 ms 4224 KB
1_37.txt AC 12 ms 4992 KB
1_38.txt AC 5 ms 2176 KB
1_39.txt AC 6 ms 2432 KB
1_40.txt AC 3 ms 1152 KB
1_41.txt AC 4 ms 1408 KB
1_42.txt AC 91 ms 42240 KB
1_43.txt AC 90 ms 42112 KB
1_44.txt AC 91 ms 42240 KB
1_45.txt AC 91 ms 42240 KB
1_46.txt AC 90 ms 42112 KB
1_47.txt AC 91 ms 42112 KB
1_48.txt AC 91 ms 42112 KB
1_49.txt AC 91 ms 42112 KB