| Task: | Monistus |
| Sender: | Bean Benestrom |
| Submission time: | 2023-11-04 13:04:18 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 71 |
| #2 | ACCEPTED | 29 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2 | details |
| #2 | ACCEPTED | 0.00 s | 1, 2 | details |
| #3 | ACCEPTED | 0.00 s | 1, 2 | details |
| #4 | ACCEPTED | 0.00 s | 1, 2 | details |
| #5 | ACCEPTED | 0.00 s | 1, 2 | details |
| #6 | ACCEPTED | 0.00 s | 1, 2 | details |
| #7 | ACCEPTED | 0.00 s | 1, 2 | details |
| #8 | ACCEPTED | 0.17 s | 2 | details |
| #9 | ACCEPTED | 0.08 s | 2 | details |
| #10 | ACCEPTED | 0.08 s | 2 | details |
| #11 | ACCEPTED | 0.09 s | 2 | details |
| #12 | ACCEPTED | 0.12 s | 2 | details |
| #13 | ACCEPTED | 0.13 s | 2 | details |
| #14 | ACCEPTED | 0.13 s | 2 | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:31:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
31 | for (int i = 0; i < original_string.size(); i++) {
| ~~^~~~~~~~~~~~~~~~~~~~~~~~
input/code.cpp:72:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
72 | for (int i=0; i<currect_node->text.size(); i++) {
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~Code
#include <iostream>
#include <string>
#include <vector>
#include <stack>
struct Node {
int num;
std::string text;
Node* next;
};
Node* add_node(Node* prev, int num, const std::string& text) {
Node* node = new Node{num, text, nullptr};
prev->next = node;
return node;
}
int main()
{
std::string original_string;
std::cin >> original_string;
Node* currect_node = new Node{-1, "", nullptr};
Node* HEAD = currect_node;
char c;
int v;
for (int i = 0; i < original_string.size(); i++) {
c = original_string[i];
v = c - '0';
if (0 < v && v < 10) {
currect_node = add_node(currect_node, v, "");
currect_node = add_node(currect_node, -1, "");
continue;
}
currect_node->text += c;
}
currect_node = HEAD;
Node* sub_head = nullptr;
Node* sub_tail = nullptr;
int A = 0;
std::string solved_string = "";
while (HEAD)
{
if (HEAD->num == -1) {
solved_string += HEAD->text;
HEAD = HEAD->next;
continue;
}
// When we hit a number
sub_head = new Node{-1, "", nullptr};
sub_tail = sub_head;
A = HEAD->num;
currect_node = HEAD; // HEAD -> number
while (A > 0)
{
currect_node = currect_node->next;
if (!currect_node) break;
if (currect_node->num != -1) {
sub_tail = add_node(sub_tail, currect_node->num, "");
A--;
continue;
}
sub_tail = add_node(sub_tail, -1, "");
for (int i=0; i<currect_node->text.size(); i++) {
sub_tail->text += currect_node->text[i];
A--;
if (A <= 0) break;
}
}
sub_tail->next = HEAD->next;
if (sub_head->next) *HEAD = *(sub_head->next);
}
std::cout << solved_string;
return 0;
}Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| 987654321o987654321p |
| correct output |
|---|
| oooooooooooooooooooooooooooooo... |
| user output |
|---|
| oooooooooooooooooooooooooooooo... Truncated |
Test 2
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| 1e1o1zo1r1h1y1m1b1mn |
| correct output |
|---|
| eeoozzorrhhyymmbbmmn |
| user output |
|---|
| eeoozzorrhhyymmbbmmn |
Test 3
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| h4y21n7dz6vr1p4go1ec |
| correct output |
|---|
| hynnnnynnnndzvrppdzvrppdzvrppg... |
| user output |
|---|
| hynnnnynnnndzvrppdzvrppdzvrppg... |
Test 4
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| bv2olah1h6o4f2mx3z1k |
| correct output |
|---|
| bvololahhhofmxmxfmxmxofmxmxfmx... |
| user output |
|---|
| bvololahhhofmxmxfmxmxofmxmxfmx... |
Test 5
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| xewpp2f1l6a5jp1v2v1y |
| correct output |
|---|
| xewppfffllajpvvajpvvajpvvjpjpv... |
| user output |
|---|
| xewppfffllajpvvajpvvajpvvjpjpv... |
Test 6
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| 1v4z1kjm1t6vp5c1m2np |
| correct output |
|---|
| vvzkkjzkkjmttvpcmmvpcmmvpcmmnc... |
| user output |
|---|
| vvzkkjzkkjmttvpcmmvpcmmvpcmmnc... |
Test 7
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| y2bl9cp21v7kgesxm2uv |
| correct output |
|---|
| yblblcpvvvvkgecpkkkkgecpvvvvkg... |
| user output |
|---|
| yblblcpvvvvkgecpkkkkgecpvvvvkg... |
Test 8
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 987654321b987654321f987654321u... |
| correct output |
|---|
| bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb... |
| user output |
|---|
| bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb... Truncated |
Test 9
Group: 2
Verdict: ACCEPTED
| input |
|---|
| agjv4321w9dskvax5ws21r321l9n7d... |
| correct output |
|---|
| agjvwwwwwwwwwwwwwwwwdskvaxwsds... |
| user output |
|---|
| agjvwwwwwwwwwwwwwwwwdskvaxwsds... Truncated |
Test 10
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 4mr1d71k432jt9sddyoy2oq7jvc1bm... |
| correct output |
|---|
| mrddmrddkkjtjtjtjtjtjtjtjtkkjt... |
| user output |
|---|
| mrddmrddkkjtjtjtjtjtjtjtjtkkjt... Truncated |
Test 11
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 1a1l1m1a1t1gc1yv1x1p1w1x1d1d1p... |
| correct output |
|---|
| aallmmaattggcyyvxxppwwxxddddpp... |
| user output |
|---|
| aallmmaattggcyyvxxppwwxxddddpp... Truncated |
Test 12
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 321e321b321a321r321m321f321s32... |
| correct output |
|---|
| eeeeeeeebbbbbbbbaaaaaaaarrrrrr... |
| user output |
|---|
| eeeeeeeebbbbbbbbaaaaaaaarrrrrr... Truncated |
Test 13
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 4321e4321l4321t4321w4321g4321c... |
| correct output |
|---|
| eeeeeeeeeeeeeeeellllllllllllll... |
| user output |
|---|
| eeeeeeeeeeeeeeeellllllllllllll... Truncated |
Test 14
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 987654321u987654321p987654321g... |
| correct output |
|---|
| uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu... |
| user output |
|---|
| uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu... Truncated |
