CSES - Datatähti 2024 alku - Results
Submission details
Task:Monistus
Sender:Rom4ikdfgha
Submission time:2023-11-03 13:47:44 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.01 s1, 2details
#2--1, 2details
#30.00 s1, 2details
#40.00 s1, 2details
#50.00 s1, 2details
#6--1, 2details
#70.01 s1, 2details
#80.00 s2details
#90.00 s2details
#100.00 s2details
#110.00 s2details
#120.00 s2details
#130.00 s2details
#140.00 s2details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:34:12: warning: format not a string literal and no format arguments [-Wformat-security]
   34 |     printf(response);
      |            ^~~~~~~~
input/code.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |     scanf("%s", word);
      |     ~~~~~^~~~~~~~~~~~
In file included from /usr/include/string.h:535,
                 from input/code.cpp:2:
In function 'char* strcpy(char*, const char*)',
    inlined from 'int main()' at input/code.cpp:29:15:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:79:33: warning: 'char* __builtin_strcpy(char*, const char*)' accessing 1 byte at offsets [0, 1000] and [0, 1000] overlaps 1 byte at offset [0, 999] [-Wrestrict]
   79 |   return __builtin___strcpy_chk (__dest, __src, __glibc_objsize (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Code

#include <stdio.h>
#include <string.h>

int leftmost(char *word, int *index, char *value) {
    for (int i = 0; word[i] != '\0'; i++) {
        if (word[i] >= '0' && word[i] <= '9') {
            *index = i;
            *value = word[i];
            return 1;
        }
    }
    return 0;
}

int main() {
    char word[1000];
    char response[2000];
    int index;
    char value;
    
    scanf("%s", word);

    response[0] = '\0'; // Initialize response as an empty string

    while (leftmost(word, &index, &value)) {
        strncat(response, word, index);  // Append characters before the number to response
        int num = value - '0';  // Convert the character digit to an integer
        strncat(response, word + index + 1, num);  // Append the specified number of characters to response
        strcpy(word + index + 1, word + index + 1 + num);  // Remove the processed characters from the word
    }

    strcat(response, word); // Append any remaining characters in 'word' to 'response'

    printf(response);
    return 0;
}

Test details

Test 1

Group: 1, 2

Verdict:

input
987654321o987654321p

correct output
oooooooooooooooooooooooooooooo...

user output
(empty)

Error:
*** buffer overflow detected ***: terminated

Test 2

Group: 1, 2

Verdict:

input
1e1o1zo1r1h1y1m1b1mn

correct output
eeoozzorrhhyymmbbmmn

user output
(empty)

Test 3

Group: 1, 2

Verdict:

input
h4y21n7dz6vr1p4go1ec

correct output
hynnnnynnnndzvrppdzvrppdzvrppg...

user output
(empty)

Error:
*** buffer overflow detected ***: terminated

Test 4

Group: 1, 2

Verdict:

input
bv2olah1h6o4f2mx3z1k

correct output
bvololahhhofmxmxfmxmxofmxmxfmx...

user output
(empty)

Error:
*** buffer overflow detected ***: terminated

Test 5

Group: 1, 2

Verdict:

input
xewpp2f1l6a5jp1v2v1y

correct output
xewppfffllajpvvajpvvajpvvjpjpv...

user output
(empty)

Error:
*** buffer overflow detected ***: terminated

Test 6

Group: 1, 2

Verdict:

input
1v4z1kjm1t6vp5c1m2np

correct output
vvzkkjzkkjmttvpcmmvpcmmvpcmmnc...

user output
(empty)

Test 7

Group: 1, 2

Verdict:

input
y2bl9cp21v7kgesxm2uv

correct output
yblblcpvvvvkgecpkkkkgecpvvvvkg...

user output
(empty)

Error:
*** buffer overflow detected ***: terminated

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
(empty)

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)