CSES - Datatähti 2024 alku - Results
Submission details
Task:Monistus
Sender:4321Boom4321
Submission time:2023-11-09 08:55:20 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.82 s1, 2details
#20.00 s1, 2details
#30.00 s1, 2details
#40.00 s1, 2details
#50.00 s1, 2details
#60.00 s1, 2details
#70.00 s1, 2details
#80.83 s2details
#90.82 s2details
#100.80 s2details
#110.02 s2details
#120.81 s2details
#130.81 s2details
#140.87 s2details

Code

#include <iostream>

using namespace std;

struct Node {
    char data;
    Node* next;

    Node(char ch) : data(ch), next(nullptr) {}
};

void duplicateSubstring(Node*& start, int d) {
    Node* current = start;
    for (int i = 0; i < d - 1; ++i) {
        Node* newNode = new Node(current->data);
        newNode->next = current->next;
        current->next = newNode;
        current = newNode;
    }
}

void processLinkedList(Node*& head) {
    Node* current = head;

    while (current != nullptr && current->data != '\0') {
        if (isdigit(current->data)) {
            int d = current->data - '0';
            duplicateSubstring(current->next, d);
        }

        current = current->next;
    }
}


void printLinkedList(Node* head) {
    Node* current = head;
    while (current != nullptr && current->data != '\0') {
        cout << current->data;
        current = current->next;
    }
    cout << endl;
}

int main() {
 
    char inputString[100005];
    cin >> inputString;

    Node* head = nullptr;
    Node* tail = nullptr;
    for (int i = 0; inputString[i] != '\0'; ++i) {
        Node* newNode = new Node(inputString[i]);
        if (head == nullptr) {
            head = newNode;
            tail = newNode;
        }
        else {
            tail->next = newNode;
            tail = newNode;
        }
    }

   
    processLinkedList(head);

    
    printLinkedList(head);

    
    Node* current = head;
    while (current != nullptr) {
        Node* next = current->next;
        delete current;
        current = next;
    }

    return 0;
}

Test details

Test 1

Group: 1, 2

Verdict:

input
987654321o987654321p

correct output
oooooooooooooooooooooooooooooo...

user output
(empty)

Test 2

Group: 1, 2

Verdict:

input
1e1o1zo1r1h1y1m1b1mn

correct output
eeoozzorrhhyymmbbmmn

user output
1e1o1zo1r1h1y1m1b1mn

Test 3

Group: 1, 2

Verdict:

input
h4y21n7dz6vr1p4go1ec

correct output
hynnnnynnnndzvrppdzvrppdzvrppg...

user output
h4yyyy211n7dddddddz6vvvvvvr1p4...

Test 4

Group: 1, 2

Verdict:

input
bv2olah1h6o4f2mx3z1k

correct output
bvololahhhofmxmxfmxmxofmxmxfmx...

user output
bv2oolah1h6oooooo4ffff2mmx3zzz...

Test 5

Group: 1, 2

Verdict:

input
xewpp2f1l6a5jp1v2v1y

correct output
xewppfffllajpvvajpvvajpvvjpjpv...

user output
xewpp2ff1l6aaaaaa5jjjjjp1v2vv1...

Test 6

Group: 1, 2

Verdict:

input
1v4z1kjm1t6vp5c1m2np

correct output
vvzkkjzkkjmttvpcmmvpcmmvpcmmnc...

user output
1v4zzzz1kjm1t6vvvvvvp5ccccc1m2...

Test 7

Group: 1, 2

Verdict:

input
y2bl9cp21v7kgesxm2uv

correct output
yblblcpvvvvkgecpkkkkgecpvvvvkg...

user output
y2bbl9cccccccccp211v7kkkkkkkge...

Test 8

Group: 2

Verdict:

input
987654321b987654321f987654321u...

correct output
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

user output
(empty)

Test 9

Group: 2

Verdict:

input
agjv4321w9dskvax5ws21r321l9n7d...

correct output
agjvwwwwwwwwwwwwwwwwdskvaxwsds...

user output
(empty)

Test 10

Group: 2

Verdict:

input
4mr1d71k432jt9sddyoy2oq7jvc1bm...

correct output
mrddmrddkkjtjtjtjtjtjtjtjtkkjt...

user output
(empty)

Test 11

Group: 2

Verdict:

input
1a1l1m1a1t1gc1yv1x1p1w1x1d1d1p...

correct output
aallmmaattggcyyvxxppwwxxddddpp...

user output
1a1l1m1a1t1gc1yv1x1p1w1x1d1d1p...
Truncated

Test 12

Group: 2

Verdict:

input
321e321b321a321r321m321f321s32...

correct output
eeeeeeeebbbbbbbbaaaaaaaarrrrrr...

user output
(empty)

Test 13

Group: 2

Verdict:

input
4321e4321l4321t4321w4321g4321c...

correct output
eeeeeeeeeeeeeeeellllllllllllll...

user output
(empty)

Test 14

Group: 2

Verdict:

input
987654321u987654321p987654321g...

correct output
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu...

user output
(empty)