CSES - Datatähti 2017 alku - Results
Submission details
Task:Pakkaus
Sender:cattes
Submission time:2016-10-07 15:49:29 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED18
#2ACCEPTED23
#3ACCEPTED59
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.05 s1details
#4ACCEPTED0.05 s1details
#5ACCEPTED0.05 s1details
#6ACCEPTED0.05 s2details
#7ACCEPTED0.07 s2details
#8ACCEPTED0.05 s2details
#9ACCEPTED0.06 s2details
#10ACCEPTED0.05 s2details
#11ACCEPTED0.09 s3details
#12ACCEPTED0.15 s3details
#13ACCEPTED0.06 s3details
#14ACCEPTED0.05 s3details
#15ACCEPTED0.06 s3details

Code

//#include <stdio.h>
#include <iostream>
#include <sstream>
#include <cstring>
#include <math.h>
int wut(char * asd) {
if (asd == 0) { return 0; }
int i = 0;
while (1) {
if (asd[i] != '\0') {
i++;
}
else {
break;
}
}
return i;
}
void append(char ** dst, char * thing) {
int a = wut(*dst);
int b = wut(thing);
char * lol = new char[a+b+1];
lol[a + b] = '\0';
memcpy(lol, *dst, a);
memcpy(lol + a, thing, b);
delete[] * dst;
*dst = lol;
}
int shittyAtoi(char * input, int numNumbers) {
int num = 0;
for (int i = 0; i < numNumbers; i++) {
if (i == numNumbers - 1) {
num = num + (input[i] - 48);
}
else {
num = num + (input[i] - 48) * pow(10,(numNumbers-i-1));
}
}
return num;
}
char * notmain(char * input) {
char * masterbuf = nullptr;
int offset = 0;
int triger = 0;
char nums[200];
int nn = 0;
char * letts = new char[2000000];
int nl = 0;
int totalcount = 0;
while (1) {
char c = input[offset];
if ((c <= 57 && c >= 48) || c == '\0') {
if (triger == 1) {
nums[nn] = '\0';
letts[nl] = '\0';
int num = shittyAtoi(nums, nn);
totalcount = totalcount + num * nl;
if (c == '\0') {
break;
}
triger = 0;
nums[0] = c;
nn = 1;
nl = 0;
}
else {
nums[nn] = c;
nn++;
}
}
else {
letts[nl] = c;
nl++;
triger = 1;
}
offset++;
}
//printf("totalcount: %i\n", totalcount);
masterbuf = new char[totalcount + 1];
masterbuf[totalcount] = '\0';
nn = 0;
nl = 0;
offset = 0;
triger = 0;
int mboffset = 0;
while (1) {
char c = input[offset];
if ((c <= 57 && c >= 48) || c == '\0') {
if (triger == 1) {
nums[nn] = '\0';
letts[nl] = '\0';
int num = shittyAtoi(nums, nn);
for (int i = 0; i < num; i++) {
//append(&masterbuf, letts);
memcpy(masterbuf + mboffset, letts, nl);
mboffset = mboffset + nl;
}
if (c == '\0') {
break;
}
triger = 0;
nums[0] = c;
nn = 1;
nl = 0;
}
else {
nums[nn] = c;
nn++;
}
}
else {
letts[nl] = c;
nl++;
triger = 1;
}
offset++;
}
delete[] letts;
return masterbuf;
}
int main() {
std::string input;
std::cin >> input;
std::cin.get();
char * res = notmain((char *)(input.c_str()));
std::cout << res;
std::cin.get();
return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1AAAAAAAAAAAAAAAAAAAA

correct output
AAAAAAAAAAAAAAAAAAAA

user output
AAAAAAAAAAAAAAAAAAAA

Test 2

Group: 1

Verdict: ACCEPTED

input
1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A...

correct output
AAAAAAAAAAAAAAAAAAAA

user output
AAAAAAAAAAAAAAAAAAAA

Test 3

Group: 1

Verdict: ACCEPTED

input
20A

correct output
AAAAAAAAAAAAAAAAAAAA

user output
AAAAAAAAAAAAAAAAAAAA

Test 4

Group: 1

Verdict: ACCEPTED

input
2N1J2F1XH2D2B2VT1N1ES

correct output
NNJFFXHDDBBVTVTNES

user output
NNJFFXHDDBBVTVTNES

Test 5

Group: 1

Verdict: ACCEPTED

input
2Z1E1UN1P2A2A1D2F2EZ1FZ1J

correct output
ZZEUNPAAAADFFEZEZFZJ

user output
ZZEUNPAAAADFFEZEZFZJ

Test 6

Group: 2

Verdict: ACCEPTED

input
1AAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 7

Group: 2

Verdict: ACCEPTED

input
1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 8

Group: 2

Verdict: ACCEPTED

input
1000A

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 9

Group: 2

Verdict: ACCEPTED

input
11QOUDQFAFUPAYCPXZ15KANCLRGT9S...

correct output
QOUDQFAFUPAYCPXZQOUDQFAFUPAYCP...

user output
QOUDQFAFUPAYCPXZQOUDQFAFUPAYCP...
Truncated

Test 10

Group: 2

Verdict: ACCEPTED

input
20NFBIUXOSO10XRXZRMULZDUFK14BB...

correct output
NFBIUXOSONFBIUXOSONFBIUXOSONFB...

user output
NFBIUXOSONFBIUXOSONFBIUXOSONFB...
Truncated

Test 11

Group: 3

Verdict: ACCEPTED

input
1AAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 12

Group: 3

Verdict: ACCEPTED

input
1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 13

Group: 3

Verdict: ACCEPTED

input
1000000A

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 14

Group: 3

Verdict: ACCEPTED

input
87GEIGDBZCYGSFYYCGQUAWQJFUUAQG...

correct output
GEIGDBZCYGSFYYCGQUAWQJFUUAQGDT...

user output
GEIGDBZCYGSFYYCGQUAWQJFUUAQGDT...
Truncated

Test 15

Group: 3

Verdict: ACCEPTED

input
316XXYCLTBFQRAXHQPTLDB275NMQJD...

correct output
XXYCLTBFQRAXHQPTLDBXXYCLTBFQRA...

user output
XXYCLTBFQRAXHQPTLDBXXYCLTBFQRA...
Truncated