CSES - KILO 2016 1/5 - Results
Submission details
Task:Decrypt
Sender:Kyynel ;_;
Submission time:2016-09-06 19:00:50 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.06 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.05 sdetails
#11ACCEPTED0.05 sdetails
#12ACCEPTED0.05 sdetails
#13ACCEPTED0.06 sdetails
#14ACCEPTED0.05 sdetails
#15ACCEPTED0.06 sdetails
#16ACCEPTED0.05 sdetails
#17ACCEPTED0.05 sdetails
#18ACCEPTED0.05 sdetails
#19ACCEPTED0.06 sdetails
#20ACCEPTED0.05 sdetails
#21ACCEPTED0.04 sdetails
#22ACCEPTED0.05 sdetails
#23ACCEPTED0.06 sdetails
#24ACCEPTED0.05 sdetails
#25ACCEPTED0.05 sdetails
#26ACCEPTED0.05 sdetails
#27ACCEPTED0.06 sdetails
#28ACCEPTED0.05 sdetails
#29ACCEPTED0.06 sdetails
#30ACCEPTED0.05 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:33:10: warning: array subscript has type 'char' [-Wchar-subscripts]
     asd[c][0] = x;
          ^
input/code.cpp:44:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for (int j = 0; j < a.length(); j++) {
                                    ^
input/code.cpp:45:17: warning: array subscript has type 'char' [-Wchar-subscripts]
  a[j] = asd[a[j]][i];
                 ^
input/code.cpp:50:17: warning: array subscript has type 'char' [-Wchar-subscripts]
     r[s[i - 'a']].push_back(i);
                 ^
input/code.cpp:52:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < t.length(); i++) {
                                ^
input/code.cpp:53:10: warning: unused variable 'q' [-Wunused-variable]
     char q = t[i];
          ^

Code

#include <bits/stdc++.h>
#define ll long long
#define N (1<<17)
#define ld long double
#define F first
#define S second
#define INF 1000111000
#define M 1000000007

using namespace std;

int asd[255][31];
vector<char> r[255];

bool dfs (int i, int k) {
  if (k == 0) return true;
  if (r[i].size() != 1) return false;
  return dfs(r[i][0], k - 1);
}

int main () {
  cin.sync_with_stdio(false);
  cin.tie(0);
  string s;
  cin>>s;
  int k;
  cin>>k;
  string t;
  cin>>t;
  int x = 'a';
  string a = "abcdefghijklmnopqrstuvwxyz";
  for (char c : s) {
    asd[c][0] = x;
    x++;
    //if (OOliOO[c] > 1) cout<<"impossible"<<endl, exit(0);
  }
  for (int i = 1; i < 31; i++) {
    for (int j = 'a'; j <= 'z'; j++) {
      asd[j][i] = asd[asd[j][i - 1]][i - 1];
    }
  }
  for (int i = 0; i < 31; i++) {
    if (k & (1<<i)) {
      for (int j = 0; j < a.length(); j++) {
	a[j] = asd[a[j]][i];
      }
    }
  }
  for (int i = 'a'; i <= 'z'; i++) {
    r[s[i - 'a']].push_back(i);
  }
  for (int i = 0; i < t.length(); i++) {
    char q = t[i];
    if (!dfs(t[i], min(k, 26))) cout<<"impossible"<<endl, exit(0);
    t[i] = a[t[i] - 'a'];
  }
  cout<<t<<endl;
}

/*
bcdefghijklmnopqrstuvwxyzz 27
bcdbaaaaaaaaaaaaaaaaaaaaaa 1
c
 * */

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: ACCEPTED

input
xtaoqlsjkezrcvinwfmbyhdgpu 872...

correct output
mmm

user output
mmm

Test 4

Verdict: ACCEPTED

input
wlcpatbrudxhofijgskqgevymz 1
joojjojjjoojjjjoojjojoojojoojj...

correct output
pmmppmpppmmppppmmppmpmmpmpmmpp...

user output
pmmppmpppmmppppmmppmpmmpmpmmpp...

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: ACCEPTED

input
edmxaqolzisvnrfkcgwehbtjpu 179...

correct output
oooooooooooooooooooooooooooooo...

user output
oooooooooooooooooooooooooooooo...

Test 8

Verdict: ACCEPTED

input
hrygatmxebcusinbdplunukuai 1
i

correct output
impossible

user output
impossible

Test 9

Verdict: ACCEPTED

input
nsuftdzbmkqepgihlyxrvwajoc 724...

correct output
offfofofofofoffooofofooofffffo...

user output
offfofofofofoffooofofooofffffo...

Test 10

Verdict: ACCEPTED

input
kbybextsniougrdmqpwfahzlcv 2
stlooyhhdfzpspsospvhdpedouqsyr...

correct output
vmfaayzzkgsnvnvavnwzknekaxqvyi...

user output
vmfaayzzkgsnvnvavnwzknekaxqvyi...

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: ACCEPTED

input
pstlbyjnovmekdqzrhwxwgcfai 315...

correct output
mmm

user output
mmm

Test 14

Verdict: ACCEPTED

input
uukjvcscfohyvqomdfdlysnuoe 2
eheeheheeheheeheeheeeehhhheehh...

correct output
impossible

user output
impossible

Test 15

Verdict: ACCEPTED

input
pkwsxbvdgmjutiyfqrzhealnoc 822...

correct output
hbkxkmhinhmwhwthbmhutgnkgoywho...

user output
hbkxkmhinhmwhwthbmhutgnkgoywho...

Test 16

Verdict: ACCEPTED

input
yqxvbohrlifmzdtwgejpcanuse 1
fl

correct output
ki

user output
ki

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: ACCEPTED

input
eawzhgmusltxjypkirbcfndovq 262...

correct output
a

user output
a

Test 22

Verdict: ACCEPTED

input
kqdpgnevpuyahrjclfzwsomxti 2
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk...

correct output
llllllllllllllllllllllllllllll...

user output
llllllllllllllllllllllllllllll...

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: ACCEPTED

input
zqynskaxvcljewmfditourgpbh 756...

correct output
oooooooooooooooooooooooooooooo...

user output
oooooooooooooooooooooooooooooo...

Test 28

Verdict: ACCEPTED

input
truzcldhkeqspoabgyvmjwnfik 1
zz

correct output
dd

user output
dd

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...