fork download
  1. import java.util.*;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.util.regex.Matcher;
  8. import java.util.regex.Pattern;
  9.  
  10. public class Main {
  11. public static void main(String[] args) {
  12. String in = "input.txt";
  13. String out = "output.txt";
  14. try {
  15. BufferedReader reader = new BufferedReader(new FileReader(in));
  16. BufferedWriter writer = new BufferedWriter(new FileWriter(out));
  17. String line;
  18. while ((line = reader.readLine()) != null) {
  19. if (line.length() >= 2 && line.substring(0, 2).startsWith("10"))Problem10(reader, writer);
  20. else if (line.startsWith("1")) Problem1(reader, writer);
  21. else if (line.startsWith("2"))Problem2(reader, writer);
  22. else if (line.startsWith("3"))Problem3(reader, writer);
  23. else if (line.startsWith("4"))Problem4(reader, writer);
  24. else if (line.startsWith("5"))Problem5(reader, writer);
  25. else if (line.startsWith("6"))Problem6(reader, writer);
  26. else if (line.startsWith("7"))Problem7(reader, writer);
  27. else if (line.startsWith("8"))Problem8(reader, writer);
  28. else if (line.startsWith("9"))Problem9(reader, writer);
  29. }
  30. reader.close();
  31. writer.close();
  32. } catch (IOException e) {
  33. e.printStackTrace();
  34. }
  35. }
  36.  
  37. private static void Problem1(BufferedReader reader, BufferedWriter writer) throws IOException {
  38. String s;
  39. writer.write("1\n");
  40. while ((s = reader.readLine()) != null && !s.equals("end")) {
  41. int currentState=0;
  42. int nextState=0;
  43. for (int i=0;i<s.length();i++){
  44. switch (currentState){
  45. case 0:
  46. if(s.charAt(i)=='a') nextState=1;
  47. else if (s.charAt(i)=='b') nextState=2;
  48. else nextState=0;
  49. break;
  50. case 1:
  51. if(s.charAt(i)=='a') nextState=1;
  52. else if (s.charAt(i)=='b') nextState=2;
  53. else nextState=0;
  54. break;
  55. case 2:
  56. if(s.charAt(i)=='b') nextState=2;
  57. else if(s.charAt(i)=='a') nextState=3;
  58. else nextState=0;
  59. break;
  60. case 3:
  61. if(s.charAt(i)=='b') nextState=3;
  62. else if(s.charAt(i)=='a') nextState=3;
  63. else nextState=0;
  64. break;
  65. default:
  66. nextState=0;
  67. }
  68. currentState=nextState;
  69. }
  70. if(currentState==1 || currentState==2)writer.write("TRUE"+'\n');
  71. else writer.write("FALSE"+'\n');
  72.  
  73. }
  74. writer.write("x\n");
  75. }
  76.  
  77. private static void Problem2(BufferedReader reader, BufferedWriter writer) throws IOException {
  78. String s;
  79. writer.write("2\n");
  80. while ((s = reader.readLine()) != null && !s.equals("end")) {
  81. int currentStrate=0;
  82. int nexState=0;
  83. for(int i=0;i<s.length();i++){
  84. switch (currentStrate){
  85. case 0:
  86. if (s.charAt(i)=='0')nexState=1;
  87. else if(s.charAt(i)=='1')nexState=4;
  88. else nexState=0;
  89. break;
  90. case 1:
  91. if(s.charAt(i)==0)nexState=2;
  92. else nexState=0;
  93. break;
  94. case 2:
  95. if(s.charAt(i)=='0')nexState=3;
  96. else if(s.charAt(i)=='1')nexState=4;
  97. else nexState=0;
  98. break;
  99. case 3:
  100. if(s.charAt(i)=='0')nexState=2;
  101. else if (s.charAt(i)=='1')nexState=5;
  102. else nexState=0;
  103. break;
  104. case 4:
  105. if(s.charAt(i)=='0')nexState=3;
  106. else if(s.charAt(i)=='1')nexState=5;
  107. else nexState=0;
  108. break;
  109. default:
  110. nexState=0;
  111. }
  112. currentStrate=nexState;
  113. }
  114. if(currentStrate==4)
  115. writer.write("TRUE"+'\n');
  116. else
  117. writer.write("FALSE"+'\n');
  118.  
  119. }
  120. writer.write("x\n");
  121. }
  122.  
  123. private static void Problem3(BufferedReader reader, BufferedWriter writer) throws IOException {
  124. String s;
  125. writer.write("3\n");
  126. while ((s = reader.readLine()) != null && !s.equals("end")) {
  127. int currentState=0;
  128. int nextState=0;
  129. for (int i=0;i<s.length();i++){
  130. switch (currentState){
  131. case 0:
  132. if(s.charAt(i)=='x')nextState=1;
  133. else if (s.charAt(i)=='y')nextState=3;
  134. else nextState=0;
  135. break;
  136. case 1:
  137. if(s.charAt(i)=='x')nextState=2;
  138. else if (s.charAt(i)=='y')nextState=1;
  139. else nextState=0;
  140. break;
  141. case 2:
  142. if(s.charAt(i)=='x')nextState=1;
  143. else if (s.charAt(i)=='y')nextState=2;
  144. else nextState=0;
  145. break;
  146. case 3:
  147. if(s.charAt(i)=='x')nextState=1;
  148. else if (s.charAt(i)=='y')nextState=3;
  149. else nextState=0;
  150. break;
  151. default:
  152. nextState=0;
  153. }
  154. currentState=nextState;
  155. }
  156. if (currentState==1)
  157. writer.write("TRUE"+'\n');
  158. else
  159. writer.write("FALSE"+'\n');
  160.  
  161. }
  162. writer.write("x\n");
  163. }
  164.  
  165. private static void Problem4(BufferedReader reader, BufferedWriter writer) throws IOException {
  166. String s;
  167. writer.write("4\n");
  168. while ((s = reader.readLine()) != null && !s.equals("end")) {
  169. int currentState=0;
  170. int nextState=0;
  171. for (int i=0;i<s.length();i++){
  172. switch (currentState){
  173. case 0:
  174. if(s.charAt(i)=='a')nextState=1;
  175. else if(s.charAt(i)=='b')nextState=4;
  176. else nextState=0;
  177. break;
  178. case 1:
  179. if(s.charAt(i)=='a')nextState=2;
  180. else if(s.charAt(i)=='b')nextState=1;
  181. else nextState=0;
  182. break;
  183. case 2:
  184. if(s.charAt(i)=='a')nextState=2;
  185. else if(s.charAt(i)=='b')nextState=3;
  186. else nextState=0;
  187. break;
  188. case 3:
  189. if(s.charAt(i)=='a')nextState=2;
  190. else if(s.charAt(i)=='b')nextState=3;
  191. else nextState=0;
  192. break;
  193. case 4:
  194. if(s.charAt(i)=='a')nextState=4;
  195. else if(s.charAt(i)=='b')nextState=5;
  196. else nextState=0;
  197. break;
  198. case 5:
  199. if(s.charAt(i)=='a')nextState=6;
  200. else if(s.charAt(i)=='b')nextState=5;
  201. else nextState=0;
  202. break;
  203. case 6:
  204. if(s.charAt(i)=='a')nextState=6;
  205. else if(s.charAt(i)=='b')nextState=5;
  206. else nextState=0;
  207. break;
  208. default:
  209. nextState=0;
  210. }
  211. currentState = nextState;
  212. }
  213. if (currentState==2 || currentState==5)
  214. writer.write("TRUE"+'\n');
  215. else
  216. writer.write("FALSE"+'\n');
  217.  
  218. }
  219. writer.write("x\n");
  220. }
  221.  
  222. private static void Problem5(BufferedReader reader, BufferedWriter writer) throws IOException {
  223. String s;
  224. writer.write("5\n");
  225. while ((s = reader.readLine()) != null && !s.equals("end")) {
  226. int currentState=0;
  227. int nextState=0;
  228. for(int i=0;i<s.length();i++){
  229. if(s.charAt(0)=='1'){
  230. switch (currentState){
  231. case 0:
  232. if(s.charAt(i)=='1') nextState=0;
  233. else if (s.charAt(i)=='0')nextState=1;
  234. else nextState=0;
  235. break;
  236. case 1:
  237. if(s.charAt(i)=='1') nextState=0;
  238. else if (s.charAt(i)=='0')nextState=2;
  239. else nextState=0;
  240. break;
  241. case 2:
  242. if(s.charAt(i)=='1') nextState=0;
  243. else if (s.charAt(i)=='0')nextState=2;
  244. else nextState=0;
  245. break;
  246. default: nextState=0;
  247. }
  248. }
  249. else {
  250. switch (currentState){
  251. case 0:
  252. if(s.charAt(i)=='0') nextState=4;
  253. else if(s.charAt(i)=='1')nextState=1;
  254. else nextState=0;
  255. break;
  256. case 1:
  257. if(s.charAt(i)=='1') nextState=1;
  258. else if (s.charAt(i)=='0')nextState=2;
  259. else nextState=0;
  260. break;
  261. case 2:
  262. if(s.charAt(i)=='1') nextState=1;
  263. else if (s.charAt(i)=='0')nextState=4;
  264. else nextState=0;
  265. break;
  266. default: nextState=0;
  267. }
  268. }
  269. currentState=nextState;
  270. }
  271. if (currentState==2 || currentState==4)
  272. writer.write("TRUE"+'\n');
  273. else
  274. writer.write("FALSE"+'\n');
  275.  
  276. }
  277. writer.write("x\n");
  278. }
  279.  
  280. private static void Problem6(BufferedReader reader, BufferedWriter writer) throws IOException {
  281. String s;
  282. writer.write("6\n");
  283. while ((s=reader.readLine())!=null&& !s.equals("end")){
  284. int currentState=0;
  285. int nextState=0;
  286. for(int i=0;i<s.length();i++){
  287. switch (currentState){
  288. case 0:
  289. if(s.charAt(i)=='0')nextState=1;
  290. else if (s.charAt(i)=='1')nextState=2;
  291. else nextState=0;
  292. break;
  293. case 1:
  294. if(s.charAt(i)=='0')nextState=1;
  295. else if (s.charAt(i)=='1')nextState=1;
  296. else nextState=0;
  297. break;
  298. case 2:
  299. if(s.charAt(i)=='0')nextState=1;
  300. else if (s.charAt(i)=='1')nextState=3;
  301. else nextState=0;
  302. break;
  303. case 3:
  304. if(s.charAt(i)=='0')nextState=1;
  305. else if (s.charAt(i)=='1')nextState=4;
  306. else nextState=0;
  307. break;
  308. case 4:
  309. if(s.charAt(i)=='0')nextState=1;
  310. else if (s.charAt(i)=='1')nextState=1;
  311. else nextState=0;
  312. break;
  313. default:nextState=0;
  314. }
  315. currentState=nextState;
  316. }
  317. if (currentState==1 || currentState==2)
  318. writer.write("TRUE"+'\n');
  319. else
  320. writer.write("FALSE"+'\n');
  321. }
  322. writer.write("x\n");
  323. }
  324. private static void Problem7(BufferedReader reader, BufferedWriter writer) throws IOException {
  325. String s;
  326. writer.write("7\n");
  327. while ((s=reader.readLine())!=null&& !s.equals("end")){
  328. int currentState=0;
  329. int nextState=0;
  330. for(int i=0;i<s.length();i++){
  331. switch (currentState){
  332. case 0:
  333. if(s.charAt(i)=='0')nextState=1;
  334. else nextState=2;
  335. break;
  336. case 1:
  337. if(s.charAt(i)=='0')nextState=1;
  338. else nextState=3;
  339. break;
  340. case 2:
  341. if(s.charAt(i)=='0')nextState=4;
  342. else nextState=2;
  343. break;
  344. case 3:
  345. if(s.charAt(i)=='0')nextState=5;
  346. else nextState=3;
  347. break;
  348. case 4:
  349. if(s.charAt(i)=='0')nextState=4;
  350. else nextState=6;
  351. break;
  352. case 5:
  353. if(s.charAt(i)=='0') nextState=5;
  354. else nextState=3;
  355. break;
  356. case 6:
  357. if(s.charAt(i)=='0')nextState=4;
  358. else nextState=6;
  359. break;
  360. default:nextState=0;
  361. }
  362. currentState=nextState;
  363. }
  364. if (currentState==0||currentState==1||currentState==2||currentState==5||currentState==6)
  365. writer.write("TRUE"+'\n');
  366. else
  367. writer.write("FALSE"+'\n');
  368. }
  369. writer.write("x\n");
  370. }
  371.  
  372. private static void Problem8(BufferedReader reader, BufferedWriter writer) throws IOException {
  373. String s;
  374. writer.write("8\n");
  375. while ((s=reader.readLine())!=null&& !s.equals("end")){
  376. int currentState=0;
  377. int nextState=0;
  378. for(int i=0;i<s.length();i++){
  379. switch (currentState){
  380. case 0:
  381. if(s.charAt(i)=='0')nextState=4;
  382. else nextState=1;
  383. break;
  384. case 1:
  385. if(s.charAt(i)=='0')nextState=2;
  386. else nextState=1;
  387. break;
  388. case 2:
  389. if(s.charAt(i)=='0')nextState=4;
  390. else nextState=3;
  391. break;
  392. case 3:
  393. nextState=3;
  394. break;
  395. case 4:
  396. if(s.charAt(i)=='0') nextState=4;
  397. else nextState=5;
  398. break;
  399. case 5:
  400. if(s.charAt(i)=='0') nextState=6;
  401. else nextState=1;
  402. break;
  403. case 6:
  404. nextState=6;
  405. break;
  406. default:nextState=0;
  407. }
  408. currentState=nextState;
  409. System.out.println(currentState);
  410. }
  411. System.out.println();
  412. if (currentState==3||currentState==6)
  413. writer.write("TRUE"+'\n');
  414. else
  415. writer.write("FALSE"+'\n');
  416. }
  417. writer.write("x\n");
  418. }
  419. private static void Problem9(BufferedReader reader, BufferedWriter writer) throws IOException {
  420. String s;
  421. writer.write("9\n");
  422. while ((s=reader.readLine())!=null&& !s.equals("end")){
  423. int currentState=0;
  424. int nextState=0;
  425. for(int i=0;i<s.length();i++){
  426. switch (currentState){
  427. case 0:
  428. if(s.charAt(i)=='0')nextState=1;
  429. else nextState=2;
  430. break;
  431. case 1:
  432. if(s.charAt(i)=='0')nextState=3;
  433. else nextState=2;
  434. break;
  435. case 2:
  436. if(s.charAt(i)=='0')nextState=1;
  437. else nextState=3;
  438. break;
  439. case 3:
  440. nextState=3;
  441. break;
  442. default:nextState=0;
  443. }
  444. currentState=nextState;
  445. System.out.println(currentState);
  446. }
  447. System.out.println();
  448. if (currentState==0||currentState==1||currentState==2)
  449. writer.write("TRUE"+'\n');
  450. else
  451. writer.write("FALSE"+'\n');
  452. }
  453. writer.write("x\n");
  454. }
  455.  
  456. private static void Problem10(BufferedReader reader, BufferedWriter writer) throws IOException {
  457. String s;
  458. writer.write("10\n");
  459. while ((s=reader.readLine())!=null&& !s.equals("End")){
  460. int currentState=0;
  461. int nextState=0;
  462. for(int i=0;i<s.length();i++){
  463. switch (currentState){
  464. case 0:
  465. if(s.charAt(i)=='0')nextState=1;
  466. else nextState=0;
  467. break;
  468. case 1:
  469. if(s.charAt(i)=='0')nextState=2;
  470. else nextState=0;
  471. break;
  472. case 2:
  473. nextState=2;
  474. break;
  475. default:nextState=0;
  476. }
  477. currentState=nextState;
  478. System.out.println(currentState);
  479. }
  480. System.out.println();
  481. if (currentState==0)
  482. writer.write("TRUE"+'\n');
  483. else
  484. writer.write("FALSE"+'\n');
  485. }
  486. writer.write("x\n");
  487. }
  488. }
  489.  
Success #stdin #stdout #stderr 0.1s 54924KB
stdin
1
ab
ba
aba
bbb
end

2
1
001
00
0011
end

3
x
xyxyxyy
yyy
yxxxy
end

4
aa
bab
baaabab
aaab
end

5
0
10000
100
101
end

6
1000
101
0000
111
end

7
010110
1001
0101010101010
101010
end

8
101010
001010
010
1001
end

9
01
10
010101010101
000
end

10
1
010111
010101111
010
End
stdout
Standard output is empty
stderr
java.io.FileNotFoundException: input.txt (No such file or directory)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:155)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:110)
	at java.base/java.io.FileReader.<init>(FileReader.java:60)
	at Main.main(Main.java:15)