Task: | Battle Simulation |
Sender: | Viljamin opetuslapset |
Submission time: | 2017-10-03 17:13:38 +0300 |
Language: | Java |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.14 s | details |
#2 | ACCEPTED | 0.32 s | details |
#3 | ACCEPTED | 0.13 s | details |
#4 | ACCEPTED | 0.16 s | details |
#5 | ACCEPTED | 0.14 s | details |
#6 | ACCEPTED | 0.17 s | details |
#7 | ACCEPTED | 0.18 s | details |
#8 | ACCEPTED | 0.18 s | details |
#9 | ACCEPTED | 0.19 s | details |
#10 | ACCEPTED | 0.19 s | details |
#11 | ACCEPTED | 0.22 s | details |
#12 | ACCEPTED | 0.26 s | details |
#13 | ACCEPTED | 0.23 s | details |
#14 | ACCEPTED | 0.23 s | details |
#15 | ACCEPTED | 0.52 s | details |
#16 | ACCEPTED | 0.12 s | details |
Code
import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.Deque; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.PriorityQueue; import java.util.Queue; import java.util.Stack; /** * * @author juliuuus */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { IO io = new IO(); String lol = io.next(); // String lol = "RBLRLRBL"; ArrayDeque<Character> three = new ArrayDeque<>(); HashMap<Character, Integer> amounts = new HashMap<>(); amounts.put('R', 0); amounts.put('L', 0); amounts.put('B', 0); StringBuilder sb = new StringBuilder(); for (int i = 0; i < lol.length(); i++) { char c = lol.charAt(i); if (three.size() < 3) { amounts.put(c, amounts.get(c) + 1); three.add(c); continue; } if (amounts.get('R') == 1 && amounts.get('L') == 1 && amounts.get('B') == 1) { sb.append('C'); three.clear(); amounts.put('R', 0); amounts.put('L', 0); amounts.put('B', 0); i--; } else { char f = three.pop(); amounts.put(f, amounts.get(f) - 1); if (f == 'R') { sb.append('S'); } if (f == 'B') { sb.append('K'); } if (f == 'L') { sb.append('H'); } three.add(c); amounts.put(c, amounts.get(c) + 1); } } if (amounts.get('R') == 1 && amounts.get('L') == 1 && amounts.get('B') == 1) { sb.append('C'); three.clear(); } while (!three.isEmpty()) { char f = three.pop(); amounts.put(f, amounts.get(f) - 1); if (f == 'R') { sb.append('S'); } if (f == 'B') { sb.append('K'); } if (f == 'L') { sb.append('H'); } } io.println(sb.toString()); io.close(); } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
BL |
correct output |
---|
KH |
user output |
---|
KH |
Test 2
Verdict: ACCEPTED
input |
---|
LRBRLBBLRRBLLBRRBLBRLLRBBRLBRL... |
correct output |
---|
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC... |
user output |
---|
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC... |
Test 3
Verdict: ACCEPTED
input |
---|
L |
correct output |
---|
H |
user output |
---|
H |
Test 4
Verdict: ACCEPTED
input |
---|
LBR |
correct output |
---|
C |
user output |
---|
C |
Test 5
Verdict: ACCEPTED
input |
---|
BBBLRLLLBB |
correct output |
---|
KKCHHHKK |
user output |
---|
KKCHHHKK |
Test 6
Verdict: ACCEPTED
input |
---|
BLRBBBRBRRBLLLBRRRBBBBLLRBRBBL... |
correct output |
---|
CKKKSKSCHCSSKKKKHCSKKHHCCKHKHK... |
user output |
---|
CKKKSKSCHCSSKKKKHCSKKHHCCKHKHK... |
Test 7
Verdict: ACCEPTED
input |
---|
RLBBBBRRRBLRLRBBRBLBLBRLLRRRRL... |
correct output |
---|
CKKKSSCSCKCKCHHSSSSHHKKHHCSCHC... |
user output |
---|
CKKKSSCSCKCKCHHSSSSHHKKHHCSCHC... |
Test 8
Verdict: ACCEPTED
input |
---|
BBLRBRRLBBRRLBLLBLBRRRRRLBLLRL... |
correct output |
---|
KCKSCKSCHHKCSSSCHHCHHCKKSSHSCC... |
user output |
---|
KCKSCKSCHHKCSSSCHHCHHCKKSSHSCC... |
Test 9
Verdict: ACCEPTED
input |
---|
BBLRLRBBBBLRBBRRRRRBBLRLRBBBBL... |
correct output |
---|
KCCKKCKKSSSSSKCCKKCCCSCCHHKCHC... |
user output |
---|
KCCKKCKKSSSSSKCCKKCCCSCCHHKCHC... |
Test 10
Verdict: ACCEPTED
input |
---|
LBLRRRBRRLLRLLRBBBRBRLRRLBRLLB... |
correct output |
---|
HCSSKSSHHSHCKKSCSCSHCSKKKHHKKK... |
user output |
---|
HCSSKSSHHSHCKKSCSCSHCSKKKHHKKK... |
Test 11
Verdict: ACCEPTED
input |
---|
LBRBLRRRRLRLLBBLRRRBBBLLBRBBLR... |
correct output |
---|
CCSSSHSHHKCSSKKKHCKCCCHKHHKKCC... |
user output |
---|
CCSSSHSHHKCSSKKKHCKCCCHKHHKKCC... |
Test 12
Verdict: ACCEPTED
input |
---|
BRRLRBBBRBRBRLBRLBBBRBLBLBBLBB... |
correct output |
---|
KSSCKKSKSCCKKKCKHKKHKKKKCKKKSS... |
user output |
---|
KSSCKKSKSCCKKKCKHKKHKKKKCKKKSS... |
Test 13
Verdict: ACCEPTED
input |
---|
LLRRLLRRLRRLBBRBBRLLRBRLLRRLBB... |
correct output |
---|
HHSSHHSSHSCKSKCCSHHSCKSCKKHHHS... |
user output |
---|
HHSSHHSSHSCKSKCCSHHSCKSCKKHHHS... |
Test 14
Verdict: ACCEPTED
input |
---|
LBRRRBRBLLBRRLBLBLBBLRBBRBLBBL... |
correct output |
---|
CSSKCCCHKHKCKKCKCCSSHHKCSKCKCS... |
user output |
---|
CSSKCCCHKHKCKKCKCCSSHHKCSKCKCS... |
Test 15
Verdict: ACCEPTED
input |
---|
BBBLRLLLBBBLRBBBRBRRBLLLBRRRBB... |
correct output |
---|
KKCHHHKKCKKKSKSCHCSSKKKKHCSKKH... |
user output |
---|
KKCHHHKKCKKKSKSCHCSSKKKKHCSKKH... |
Test 16
Verdict: ACCEPTED
input |
---|
LBRLRBBLRBRLRLBRBL |
correct output |
---|
CCCCCC |
user output |
---|
CCCCCC |