| Task: | Pakkaus |
| Sender: | cattes |
| Submission time: | 2016-10-07 15:49:29 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 18 |
| #2 | ACCEPTED | 23 |
| #3 | ACCEPTED | 59 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.04 s | 1 | details |
| #2 | ACCEPTED | 0.05 s | 1 | details |
| #3 | ACCEPTED | 0.05 s | 1 | details |
| #4 | ACCEPTED | 0.05 s | 1 | details |
| #5 | ACCEPTED | 0.05 s | 1 | details |
| #6 | ACCEPTED | 0.05 s | 2 | details |
| #7 | ACCEPTED | 0.07 s | 2 | details |
| #8 | ACCEPTED | 0.05 s | 2 | details |
| #9 | ACCEPTED | 0.06 s | 2 | details |
| #10 | ACCEPTED | 0.05 s | 2 | details |
| #11 | ACCEPTED | 0.09 s | 3 | details |
| #12 | ACCEPTED | 0.15 s | 3 | details |
| #13 | ACCEPTED | 0.06 s | 3 | details |
| #14 | ACCEPTED | 0.05 s | 3 | details |
| #15 | ACCEPTED | 0.06 s | 3 | details |
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 |
