Submission #430026

# Submission time Handle Problem Language Result Execution time Memory
430026 2021-06-16T11:02:58 Z LouayFarah Paint By Numbers (IOI16_paint) C++14
32 / 100
1 ms 304 KB
#include "bits/stdc++.h"
#include "paint.h"
using namespace std;

#define pb push_back

string solve_puzzle(string s, vector<int> c)
{
    int n = (int)s.length();
    int k = (int)c.size();
    string res = s;

    int i = 0, clue = 0;
    while(i<n&&clue<k)
    {
        int temp = c[clue];
        while(i<n&&temp>0)
        {
            res[i] = 'X';
            i++;
            temp--;
        }
        if(i<n)
            res[i] = '_';
        i++;
        clue++;
    }

    while(i<n)
        res[i++] = '_';

    vector<int> pos;
    i = 0;

    while(i<n)
    {
        if(res[i]=='X')
        {
            pos.pb(i);
            while(i<n&&res[i]=='X')
                i++;
        }
        i++;
    }

    vector<int> visited(n, 0);
    for(int j = 0; j<n; j++)
    {
        if(res[j]=='X')
            visited[j] = 2;
        else
            visited[j] = 1;
    }


    for(int p = k-1; p>=0; p--)
    {
        int position = pos[p];
        int len = c[p];
        while(position+len<n)
        {
            if(position+len-1<n-2)
            {
                if(res[position+len]=='_'&&res[position+len+1]=='X')
                    break;
            }
            res[position] = '_';
            res[position+len] = 'X';
            position++;
            for(int j = 0; j<n; j++)
            {
                if(visited[j]==1&&res[j]=='X')
                    visited[j]=3;
                else if(visited[j]==2&&res[j]=='_')
                    visited[j]=3;
            }
        }
    }

    string fin = "";
    for(int j = 0; j<n; j++)
    {
        if(visited[j]==1)
            fin.pb('_');
        else if(visited[j]==2)
            fin.pb('X');
        else
            fin.pb('?');
    }

    return fin;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB n = 13, m = 1
2 Correct 1 ms 204 KB n = 18, m = 1
3 Correct 1 ms 204 KB n = 17, m = 1
4 Correct 1 ms 204 KB n = 1, m = 1
5 Correct 1 ms 204 KB n = 20, m = 1
6 Correct 1 ms 204 KB n = 20, m = 1
7 Correct 1 ms 204 KB n = 20, m = 1
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB n = 13, m = 1
2 Correct 1 ms 204 KB n = 18, m = 1
3 Correct 1 ms 204 KB n = 17, m = 1
4 Correct 1 ms 204 KB n = 1, m = 1
5 Correct 1 ms 204 KB n = 20, m = 1
6 Correct 1 ms 204 KB n = 20, m = 1
7 Correct 1 ms 204 KB n = 20, m = 1
8 Correct 1 ms 204 KB n = 20, m = 5
9 Correct 1 ms 204 KB n = 18, m = 3
10 Correct 1 ms 204 KB n = 17, m = 2
11 Correct 1 ms 204 KB n = 20, m = 2
12 Correct 1 ms 204 KB n = 17, m = 4
13 Correct 1 ms 204 KB n = 17, m = 6
14 Correct 1 ms 204 KB n = 17, m = 1
15 Correct 1 ms 204 KB n = 17, m = 4
16 Correct 1 ms 204 KB n = 13, m = 3
17 Correct 1 ms 204 KB n = 18, m = 4
18 Correct 1 ms 204 KB n = 20, m = 10
19 Correct 1 ms 204 KB n = 19, m = 10
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB n = 13, m = 1
2 Correct 1 ms 204 KB n = 18, m = 1
3 Correct 1 ms 204 KB n = 17, m = 1
4 Correct 1 ms 204 KB n = 1, m = 1
5 Correct 1 ms 204 KB n = 20, m = 1
6 Correct 1 ms 204 KB n = 20, m = 1
7 Correct 1 ms 204 KB n = 20, m = 1
8 Correct 1 ms 204 KB n = 20, m = 5
9 Correct 1 ms 204 KB n = 18, m = 3
10 Correct 1 ms 204 KB n = 17, m = 2
11 Correct 1 ms 204 KB n = 20, m = 2
12 Correct 1 ms 204 KB n = 17, m = 4
13 Correct 1 ms 204 KB n = 17, m = 6
14 Correct 1 ms 204 KB n = 17, m = 1
15 Correct 1 ms 204 KB n = 17, m = 4
16 Correct 1 ms 204 KB n = 13, m = 3
17 Correct 1 ms 204 KB n = 18, m = 4
18 Correct 1 ms 204 KB n = 20, m = 10
19 Correct 1 ms 204 KB n = 19, m = 10
20 Correct 1 ms 204 KB n = 100, m = 5
21 Correct 1 ms 204 KB n = 90, m = 3
22 Correct 1 ms 204 KB n = 86, m = 2
23 Correct 1 ms 204 KB n = 81, m = 4
24 Correct 1 ms 304 KB n = 89, m = 10
25 Correct 1 ms 204 KB n = 81, m = 23
26 Correct 1 ms 204 KB n = 86, m = 8
27 Correct 1 ms 204 KB n = 53, m = 22
28 Correct 1 ms 204 KB n = 89, m = 35
29 Correct 1 ms 204 KB n = 63, m = 25
30 Correct 1 ms 204 KB n = 100, m = 50
31 Correct 1 ms 204 KB n = 99, m = 50
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB n = 13, m = 1
2 Correct 1 ms 204 KB n = 18, m = 1
3 Correct 1 ms 204 KB n = 17, m = 1
4 Correct 1 ms 204 KB n = 1, m = 1
5 Correct 1 ms 204 KB n = 20, m = 1
6 Correct 1 ms 204 KB n = 20, m = 1
7 Correct 1 ms 204 KB n = 20, m = 1
8 Correct 1 ms 204 KB n = 20, m = 5
9 Correct 1 ms 204 KB n = 18, m = 3
10 Correct 1 ms 204 KB n = 17, m = 2
11 Correct 1 ms 204 KB n = 20, m = 2
12 Correct 1 ms 204 KB n = 17, m = 4
13 Correct 1 ms 204 KB n = 17, m = 6
14 Correct 1 ms 204 KB n = 17, m = 1
15 Correct 1 ms 204 KB n = 17, m = 4
16 Correct 1 ms 204 KB n = 13, m = 3
17 Correct 1 ms 204 KB n = 18, m = 4
18 Correct 1 ms 204 KB n = 20, m = 10
19 Correct 1 ms 204 KB n = 19, m = 10
20 Correct 1 ms 204 KB n = 100, m = 5
21 Correct 1 ms 204 KB n = 90, m = 3
22 Correct 1 ms 204 KB n = 86, m = 2
23 Correct 1 ms 204 KB n = 81, m = 4
24 Correct 1 ms 304 KB n = 89, m = 10
25 Correct 1 ms 204 KB n = 81, m = 23
26 Correct 1 ms 204 KB n = 86, m = 8
27 Correct 1 ms 204 KB n = 53, m = 22
28 Correct 1 ms 204 KB n = 89, m = 35
29 Correct 1 ms 204 KB n = 63, m = 25
30 Correct 1 ms 204 KB n = 100, m = 50
31 Correct 1 ms 204 KB n = 99, m = 50
32 Incorrect 1 ms 204 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB n = 13, m = 1
2 Correct 1 ms 204 KB n = 18, m = 1
3 Correct 1 ms 204 KB n = 17, m = 1
4 Correct 1 ms 204 KB n = 1, m = 1
5 Correct 1 ms 204 KB n = 20, m = 1
6 Correct 1 ms 204 KB n = 20, m = 1
7 Correct 1 ms 204 KB n = 20, m = 1
8 Correct 1 ms 204 KB n = 20, m = 5
9 Correct 1 ms 204 KB n = 18, m = 3
10 Correct 1 ms 204 KB n = 17, m = 2
11 Correct 1 ms 204 KB n = 20, m = 2
12 Correct 1 ms 204 KB n = 17, m = 4
13 Correct 1 ms 204 KB n = 17, m = 6
14 Correct 1 ms 204 KB n = 17, m = 1
15 Correct 1 ms 204 KB n = 17, m = 4
16 Correct 1 ms 204 KB n = 13, m = 3
17 Correct 1 ms 204 KB n = 18, m = 4
18 Correct 1 ms 204 KB n = 20, m = 10
19 Correct 1 ms 204 KB n = 19, m = 10
20 Correct 1 ms 204 KB n = 100, m = 5
21 Correct 1 ms 204 KB n = 90, m = 3
22 Correct 1 ms 204 KB n = 86, m = 2
23 Correct 1 ms 204 KB n = 81, m = 4
24 Correct 1 ms 304 KB n = 89, m = 10
25 Correct 1 ms 204 KB n = 81, m = 23
26 Correct 1 ms 204 KB n = 86, m = 8
27 Correct 1 ms 204 KB n = 53, m = 22
28 Correct 1 ms 204 KB n = 89, m = 35
29 Correct 1 ms 204 KB n = 63, m = 25
30 Correct 1 ms 204 KB n = 100, m = 50
31 Correct 1 ms 204 KB n = 99, m = 50
32 Incorrect 1 ms 204 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB n = 13, m = 1
2 Correct 1 ms 204 KB n = 18, m = 1
3 Correct 1 ms 204 KB n = 17, m = 1
4 Correct 1 ms 204 KB n = 1, m = 1
5 Correct 1 ms 204 KB n = 20, m = 1
6 Correct 1 ms 204 KB n = 20, m = 1
7 Correct 1 ms 204 KB n = 20, m = 1
8 Correct 1 ms 204 KB n = 20, m = 5
9 Correct 1 ms 204 KB n = 18, m = 3
10 Correct 1 ms 204 KB n = 17, m = 2
11 Correct 1 ms 204 KB n = 20, m = 2
12 Correct 1 ms 204 KB n = 17, m = 4
13 Correct 1 ms 204 KB n = 17, m = 6
14 Correct 1 ms 204 KB n = 17, m = 1
15 Correct 1 ms 204 KB n = 17, m = 4
16 Correct 1 ms 204 KB n = 13, m = 3
17 Correct 1 ms 204 KB n = 18, m = 4
18 Correct 1 ms 204 KB n = 20, m = 10
19 Correct 1 ms 204 KB n = 19, m = 10
20 Correct 1 ms 204 KB n = 100, m = 5
21 Correct 1 ms 204 KB n = 90, m = 3
22 Correct 1 ms 204 KB n = 86, m = 2
23 Correct 1 ms 204 KB n = 81, m = 4
24 Correct 1 ms 304 KB n = 89, m = 10
25 Correct 1 ms 204 KB n = 81, m = 23
26 Correct 1 ms 204 KB n = 86, m = 8
27 Correct 1 ms 204 KB n = 53, m = 22
28 Correct 1 ms 204 KB n = 89, m = 35
29 Correct 1 ms 204 KB n = 63, m = 25
30 Correct 1 ms 204 KB n = 100, m = 50
31 Correct 1 ms 204 KB n = 99, m = 50
32 Incorrect 1 ms 204 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB n = 13, m = 1
2 Correct 1 ms 204 KB n = 18, m = 1
3 Correct 1 ms 204 KB n = 17, m = 1
4 Correct 1 ms 204 KB n = 1, m = 1
5 Correct 1 ms 204 KB n = 20, m = 1
6 Correct 1 ms 204 KB n = 20, m = 1
7 Correct 1 ms 204 KB n = 20, m = 1
8 Correct 1 ms 204 KB n = 20, m = 5
9 Correct 1 ms 204 KB n = 18, m = 3
10 Correct 1 ms 204 KB n = 17, m = 2
11 Correct 1 ms 204 KB n = 20, m = 2
12 Correct 1 ms 204 KB n = 17, m = 4
13 Correct 1 ms 204 KB n = 17, m = 6
14 Correct 1 ms 204 KB n = 17, m = 1
15 Correct 1 ms 204 KB n = 17, m = 4
16 Correct 1 ms 204 KB n = 13, m = 3
17 Correct 1 ms 204 KB n = 18, m = 4
18 Correct 1 ms 204 KB n = 20, m = 10
19 Correct 1 ms 204 KB n = 19, m = 10
20 Correct 1 ms 204 KB n = 100, m = 5
21 Correct 1 ms 204 KB n = 90, m = 3
22 Correct 1 ms 204 KB n = 86, m = 2
23 Correct 1 ms 204 KB n = 81, m = 4
24 Correct 1 ms 304 KB n = 89, m = 10
25 Correct 1 ms 204 KB n = 81, m = 23
26 Correct 1 ms 204 KB n = 86, m = 8
27 Correct 1 ms 204 KB n = 53, m = 22
28 Correct 1 ms 204 KB n = 89, m = 35
29 Correct 1 ms 204 KB n = 63, m = 25
30 Correct 1 ms 204 KB n = 100, m = 50
31 Correct 1 ms 204 KB n = 99, m = 50
32 Incorrect 1 ms 204 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -