Task: | Decrypt |
Sender: | PILIPOJAT!! |
Submission time: | 2016-09-06 19:28:54 +0300 |
Language: | Java |
Status: | READY |
Result: | TIME LIMIT EXCEEDED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.10 s | details |
#2 | ACCEPTED | 0.10 s | details |
#3 | TIME LIMIT EXCEEDED | -- | details |
#4 | WRONG ANSWER | 0.10 s | details |
#5 | ACCEPTED | 0.10 s | details |
#6 | ACCEPTED | 0.10 s | details |
#7 | WRONG ANSWER | 0.10 s | details |
#8 | ACCEPTED | 0.10 s | details |
#9 | TIME LIMIT EXCEEDED | -- | details |
#10 | WRONG ANSWER | 0.10 s | details |
#11 | ACCEPTED | 0.10 s | details |
#12 | ACCEPTED | 0.10 s | details |
#13 | WRONG ANSWER | 0.10 s | details |
#14 | ACCEPTED | 0.11 s | details |
#15 | TIME LIMIT EXCEEDED | -- | details |
#16 | WRONG ANSWER | 0.10 s | details |
#17 | ACCEPTED | 0.10 s | details |
#18 | ACCEPTED | 0.10 s | details |
#19 | ACCEPTED | 0.10 s | details |
#20 | ACCEPTED | 0.10 s | details |
#21 | TIME LIMIT EXCEEDED | -- | details |
#22 | WRONG ANSWER | 0.10 s | details |
#23 | ACCEPTED | 0.09 s | details |
#24 | ACCEPTED | 0.13 s | details |
#25 | ACCEPTED | 0.10 s | details |
#26 | ACCEPTED | 0.10 s | details |
#27 | TIME LIMIT EXCEEDED | -- | details |
#28 | WRONG ANSWER | 0.10 s | details |
#29 | ACCEPTED | 0.10 s | details |
#30 | ACCEPTED | 0.10 s | details |
Code
import java.io.*; import java.util.*; /** * Created by migho on 6.9.2016. */ public class Main { //nopqrstuvwxyzabcdefghijklm //tbbqvqrn public static void main(String[] argv) { IO io = new IO(); // characters char[] f = io.next().toCharArray(); //rounds int k = io.nextInt(); //encrypted message char[] encryptedString = io.next().toCharArray(); char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); validate(f.clone()); Hashtable<Character, Character> data = new Hashtable<>(); for(int i = 0; i < f.length; i++) { data.put(f[i], alphabet[i]); } for(int i = 0; i < k; i++) { for(int j = 0; j < encryptedString.length; j++) { encryptedString[j] = data.get(encryptedString[j]); } } System.out.println(new String(encryptedString)); } private static void validate(char[] c) { Arrays.sort(c); char cur = c[0]; for(int i = 1; i < c.length; i++) { if(cur == c[i]) { System.out.println("impossible"); System.exit(0); } cur = c[i]; } } private static class IO extends PrintWriter { private InputStreamReader r; private static final int BUFSIZE = 1 << 15; private char[] buf; private int bufc; private int bufi; private StringBuilder sb; public IO() { super(new BufferedOutputStream(System.out)); r = new InputStreamReader(System.in); buf = new char[BUFSIZE]; bufc = 0; bufi = 0; sb = new StringBuilder(); } private void fillBuf() throws IOException { bufi = 0; bufc = 0; while(bufc == 0) { bufc = r.read(buf, 0, BUFSIZE); if(bufc == -1) { bufc = 0; return; } } } private boolean pumpBuf() throws IOException { if(bufi == bufc) { fillBuf(); } return bufc != 0; } private boolean isDelimiter(char c) { return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f'; } private void eatDelimiters() throws IOException { while(true) { if(bufi == bufc) { fillBuf(); if(bufc == 0) throw new RuntimeException("IO: Out of input."); } if(!isDelimiter(buf[bufi])) break; ++bufi; } } public String next() { try { sb.setLength(0); eatDelimiters(); int start = bufi; while(true) { if(bufi == bufc) { sb.append(buf, start, bufi - start); fillBuf(); start = 0; if(bufc == 0) break; } if(isDelimiter(buf[bufi])) break; ++bufi; } sb.append(buf, start, bufi - start); return sb.toString(); } catch(IOException e) { throw new RuntimeException("IO.next: Caught IOException."); } } public int nextInt() { try { int ret = 0; eatDelimiters(); boolean positive = true; if(buf[bufi] == '-') { ++bufi; if(!pumpBuf()) throw new RuntimeException("IO.nextInt: Invalid int."); positive = false; } boolean first = true; while(true) { if(!pumpBuf()) break; if(isDelimiter(buf[bufi])) { if(first) throw new RuntimeException("IO.nextInt: Invalid int."); break; } first = false; if(buf[bufi] >= '0' && buf[bufi] <= '9') { if(ret < -214748364) throw new RuntimeException("IO.nextInt: Invalid int."); ret *= 10; ret -= (int)(buf[bufi] - '0'); if(ret > 0) throw new RuntimeException("IO.nextInt: Invalid int."); } else { throw new RuntimeException("IO.nextInt: Invalid int."); } ++bufi; } if(positive) { if(ret == -2147483648) throw new RuntimeException("IO.nextInt: Invalid int."); ret = -ret; } return ret; } catch(IOException e) { throw new RuntimeException("IO.nextInt: Caught IOException."); } } public long nextLong() { try { long ret = 0; eatDelimiters(); boolean positive = true; if(buf[bufi] == '-') { ++bufi; if(!pumpBuf()) throw new RuntimeException("IO.nextLong: Invalid long."); positive = false; } boolean first = true; while(true) { if(!pumpBuf()) break; if(isDelimiter(buf[bufi])) { if(first) throw new RuntimeException("IO.nextLong: Invalid long."); break; } first = false; if(buf[bufi] >= '0' && buf[bufi] <= '9') { if(ret < -922337203685477580L) throw new RuntimeException("IO.nextLong: Invalid long."); ret *= 10; ret -= (long)(buf[bufi] - '0'); if(ret > 0) throw new RuntimeException("IO.nextLong: Invalid long."); } else { throw new RuntimeException("IO.nextLong: Invalid long."); } ++bufi; } if(positive) { if(ret == -9223372036854775808L) throw new RuntimeException("IO.nextLong: Invalid long."); ret = -ret; } return ret; } catch(IOException e) { throw new RuntimeException("IO.nextLong: Caught IOException."); } } public double nextDouble() { return Double.parseDouble(next()); } } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
egkpmqujbxhiatorvznwcfynds 564... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 2
Verdict: ACCEPTED
input |
---|
pdabvolaobzbaaisrntdtwluwf 2 oooooooooooooooooooooooooooooo... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
xtaoqlsjkezrcvinwfmbyhdgpu 872... |
correct output |
---|
mmm |
user output |
---|
(empty) |
Test 4
Verdict: WRONG ANSWER
input |
---|
wlcpatbrudxhofijgskqgevymz 1 joojjojjjoojjjjoojjojoojojoojj... |
correct output |
---|
pmmppmpppmmppppmmppmpmmpmpmmpp... |
user output |
---|
impossible |
Test 5
Verdict: ACCEPTED
input |
---|
tjyivkaulcjnehvtilatxjxmxd 300... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 6
Verdict: ACCEPTED
input |
---|
tonbvkcqilfjghszxpwmdureay 2 nnv |
correct output |
---|
ggx |
user output |
---|
ggx |
Test 7
Verdict: WRONG ANSWER
input |
---|
edmxaqolzisvnrfkcgwehbtjpu 179... |
correct output |
---|
oooooooooooooooooooooooooooooo... |
user output |
---|
impossible |
Test 8
Verdict: ACCEPTED
input |
---|
hrygatmxebcusinbdplunukuai 1 i |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 9
Verdict: TIME LIMIT EXCEEDED
input |
---|
nsuftdzbmkqepgihlyxrvwajoc 724... |
correct output |
---|
offfofofofofoffooofofooofffffo... |
user output |
---|
(empty) |
Test 10
Verdict: WRONG ANSWER
input |
---|
kbybextsniougrdmqpwfahzlcv 2 stlooyhhdfzpspsospvhdpedouqsyr... |
correct output |
---|
vmfaayzzkgsnvnvavnwzknekaxqvyi... |
user output |
---|
impossible |
Test 11
Verdict: ACCEPTED
input |
---|
dugyojozcpjlwxepebzhfkqlzc 801... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 12
Verdict: ACCEPTED
input |
---|
kibphqeygnmsdvawzrfcuotxjl 2 ggggggggggggggggggggggggggg |
correct output |
---|
bbbbbbbbbbbbbbbbbbbbbbbbbbb |
user output |
---|
bbbbbbbbbbbbbbbbbbbbbbbbbbb |
Test 13
Verdict: WRONG ANSWER
input |
---|
pstlbyjnovmekdqzrhwxwgcfai 315... |
correct output |
---|
mmm |
user output |
---|
impossible |
Test 14
Verdict: ACCEPTED
input |
---|
uukjvcscfohyvqomdfdlysnuoe 2 eheeheheeheheeheeheeeehhhheehh... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 15
Verdict: TIME LIMIT EXCEEDED
input |
---|
pkwsxbvdgmjutiyfqrzhealnoc 822... |
correct output |
---|
hbkxkmhinhmwhwthbmhutgnkgoywho... |
user output |
---|
(empty) |
Test 16
Verdict: WRONG ANSWER
input |
---|
yqxvbohrlifmzdtwgejpcanuse 1 fl |
correct output |
---|
ki |
user output |
---|
impossible |
Test 17
Verdict: ACCEPTED
input |
---|
gauouzffisuxjtuufqdappivxv 205... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 18
Verdict: ACCEPTED
input |
---|
ovqzprxiluehkndsmtyafbwgjc 2 oo |
correct output |
---|
tt |
user output |
---|
tt |
Test 19
Verdict: ACCEPTED
input |
---|
goqbyzivahrxnjwtdjluepsmkf 701... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 20
Verdict: ACCEPTED
input |
---|
vlovrwpvkfbotybcmcbixsbfly 2 jutqryuhbjjqvbpaeqoyduqneybsli... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 21
Verdict: TIME LIMIT EXCEEDED
input |
---|
eawzhgmusltxjypkirbcfndovq 262... |
correct output |
---|
a |
user output |
---|
(empty) |
Test 22
Verdict: WRONG ANSWER
input |
---|
kqdpgnevpuyahrjclfzwsomxti 2 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk... |
correct output |
---|
llllllllllllllllllllllllllllll... |
user output |
---|
impossible |
Test 23
Verdict: ACCEPTED
input |
---|
xwfgenquyctxdvmptcrdhvcxwq 778... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 24
Verdict: ACCEPTED
input |
---|
sucejvkmrhtobzxglapdnifqwy 1 qddqqqqqdqqqqddddqqdqqqdqdqddq... |
correct output |
---|
xttxxxxxtxxxxttttxxtxxxtxtxttx... |
user output |
---|
xttxxxxxtxxxxttttxxtxxxtxtxttx... |
Test 25
Verdict: ACCEPTED
input |
---|
pzukghijmcsalwnvoydxftbreu 413... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 26
Verdict: ACCEPTED
input |
---|
adlsmbfijwmdcwglhgnvaooybu 1 aio |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 27
Verdict: TIME LIMIT EXCEEDED
input |
---|
zqynskaxvcljewmfditourgpbh 756... |
correct output |
---|
oooooooooooooooooooooooooooooo... |
user output |
---|
(empty) |
Test 28
Verdict: WRONG ANSWER
input |
---|
truzcldhkeqspoabgyvmjwnfik 1 zz |
correct output |
---|
dd |
user output |
---|
impossible |
Test 29
Verdict: ACCEPTED
input |
---|
upfasuzkjuwhrnajgmitgysvil 467... |
correct output |
---|
impossible |
user output |
---|
impossible |
Test 30
Verdict: ACCEPTED
input |
---|
bemlodzqjgixuksatvyfcpnhrw 1 zdaaskooqkzzifuzspzayokihzxqhf... |
correct output |
---|
gfpponeehnggktmgovgpsenkxglhxt... |
user output |
---|
gfpponeehnggktmgovgpsenkxglhxt... |