Submission #2516323
Source Code Expand
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { char[] cs; int x, y; public static void main(String args[]) { new Main().run(); } void run() { FastReader sc = new FastReader(); cs = sc.next().toCharArray(); x = sc.nextInt(); y = sc.nextInt(); solve(); } void solve() { boolean[][] dpX = new boolean[cs.length + 1][2 * cs.length + 1]; boolean[][] dpY = new boolean[cs.length + 1][2 * cs.length + 1]; dpY[0][cs.length] = true; int i = 0; int partCount = 0; int fCount = 0; while (i < cs.length) { if (cs[i] == 'T' || i == cs.length - 1) { if (i == cs.length - 1 && cs[i] == 'F') { fCount++; } partCount++; if (partCount == 1) { dpX[partCount][cs.length + fCount] = true; } else if (partCount % 2 != 0) { for (int k = 0; k < dpX[partCount].length; k++) { if (k > fCount) { dpX[partCount][k] |= dpX[partCount - 2][k - fCount]; } if (k < dpX[partCount].length - fCount) { dpX[partCount][k] |= dpX[partCount - 2][k + fCount]; } } } else { for (int k = 0; k < dpY[partCount].length; k++) { if (k > fCount) { dpY[partCount][k] |= dpY[partCount - 2][k - fCount]; } if (k < dpY[partCount].length - fCount) { dpY[partCount][k] |= dpY[partCount - 2][k + fCount]; } } } fCount = 0; } else if (cs[i] == 'F') { fCount++; } i++; } int xIndex = partCount - 1; int yIndex = partCount; if (partCount % 2 == 1) { xIndex = partCount; yIndex = partCount - 1; } if (dpX[xIndex][cs.length + x] & dpY[yIndex][cs.length + y]) { System.out.println("Yes"); } else { System.out.println("No"); } } static class FastReader { BufferedReader br; StringTokenizer st; public FastReader() { br = new BufferedReader(new InputStreamReader(System.in)); } String next() { while (st == null || !st.hasMoreElements()) { try { st = new StringTokenizer(br.readLine()); } catch (IOException e) { e.printStackTrace(); } } return st.nextToken(); } int nextInt() { return Integer.parseInt(next()); } long nextLong() { return Long.parseLong(next()); } double nextDouble() { return Double.parseDouble(next()); } String nextLine() { String str = ""; try { str = br.readLine(); } catch (IOException e) { e.printStackTrace(); } return str; } } }
Submission Info
Submission Time | |
---|---|
Task | D - FT Robot |
User | ynish |
Language | Java8 (OpenJDK 1.8.0) |
Score | 500 |
Code Size | 3718 Byte |
Status | AC |
Exec Time | 721 ms |
Memory | 304824 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
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 | 71 ms | 20948 KB |
0_01.txt | AC | 69 ms | 21204 KB |
0_02.txt | AC | 67 ms | 18260 KB |
0_03.txt | AC | 70 ms | 20820 KB |
0_04.txt | AC | 70 ms | 18900 KB |
0_05.txt | AC | 68 ms | 21332 KB |
1_00.txt | AC | 202 ms | 297264 KB |
1_01.txt | AC | 201 ms | 298684 KB |
1_02.txt | AC | 204 ms | 299576 KB |
1_03.txt | AC | 203 ms | 296884 KB |
1_04.txt | AC | 206 ms | 301112 KB |
1_05.txt | AC | 201 ms | 297272 KB |
1_06.txt | AC | 597 ms | 301104 KB |
1_07.txt | AC | 552 ms | 302276 KB |
1_08.txt | AC | 617 ms | 302472 KB |
1_09.txt | AC | 615 ms | 298876 KB |
1_10.txt | AC | 616 ms | 299204 KB |
1_11.txt | AC | 615 ms | 297528 KB |
1_12.txt | AC | 469 ms | 299336 KB |
1_13.txt | AC | 460 ms | 299604 KB |
1_14.txt | AC | 515 ms | 303300 KB |
1_15.txt | AC | 530 ms | 301264 KB |
1_16.txt | AC | 516 ms | 301164 KB |
1_17.txt | AC | 512 ms | 297288 KB |
1_18.txt | AC | 558 ms | 298040 KB |
1_19.txt | AC | 536 ms | 302792 KB |
1_20.txt | AC | 540 ms | 301496 KB |
1_21.txt | AC | 544 ms | 297268 KB |
1_22.txt | AC | 579 ms | 301116 KB |
1_23.txt | AC | 582 ms | 297608 KB |
1_24.txt | AC | 594 ms | 301352 KB |
1_25.txt | AC | 538 ms | 297788 KB |
1_26.txt | AC | 690 ms | 302400 KB |
1_27.txt | AC | 721 ms | 302388 KB |
1_28.txt | AC | 545 ms | 296872 KB |
1_29.txt | AC | 556 ms | 298284 KB |
1_30.txt | AC | 383 ms | 299700 KB |
1_31.txt | AC | 396 ms | 304824 KB |
1_32.txt | AC | 317 ms | 301244 KB |
1_33.txt | AC | 323 ms | 300604 KB |
1_34.txt | AC | 274 ms | 299712 KB |
1_35.txt | AC | 299 ms | 303408 KB |
1_36.txt | AC | 251 ms | 303316 KB |
1_37.txt | AC | 253 ms | 300736 KB |
1_38.txt | AC | 251 ms | 298420 KB |
1_39.txt | AC | 256 ms | 301132 KB |
1_40.txt | AC | 237 ms | 301636 KB |
1_41.txt | AC | 241 ms | 298680 KB |
1_42.txt | AC | 454 ms | 300308 KB |
1_43.txt | AC | 474 ms | 299720 KB |
1_44.txt | AC | 473 ms | 302900 KB |
1_45.txt | AC | 481 ms | 298292 KB |
1_46.txt | AC | 473 ms | 300228 KB |
1_47.txt | AC | 456 ms | 297644 KB |
1_48.txt | AC | 444 ms | 296636 KB |
1_49.txt | AC | 449 ms | 299068 KB |