Submission #962334

# Submission time Handle Problem Language Result Execution time Memory
962334 2024-04-13T10:45:05 Z serkanrashid Art Class (IOI13_artclass) C++14
0 / 100
64 ms 21000 KB
#include "artclass.h"
#include <bits/stdc++.h>

using namespace std;

int h,w;

struct Point
{
    int x,y;
    Point(){};
    Point(int xi, int yi)
    {
        x = xi;
        y = yi;
    }
    bool is_valid()
    {
        return x>=0&&x<h&&y>=0&&y<w;
    }
};

Point dir[4] = {{1,0},{-1,0},{0,1},{0,-1}};
int r[500][500],g[500][500],b[500][500];
int c[500][500],used[500][500];

vector<int>comp;
map<int,int>mymap;
vector<int>pr;

void dfs(Point beg)
{
    used[beg.x][beg.y] = 1;
    for(int i = 0; i < 4; i++)
    {
        Point nb;
        nb.x = beg.x + dir[i].x;
        nb.y = beg.y + dir[i].y;
        if(nb.is_valid() && !used[nb.x][nb.y]) dfs(nb);
    }
}

void ps(int x, int y)
{
    for(int i=x;i<h;i++)
    {
        if(used[i][y]) break;
        used[i][y] = 1;
        for(int j=y+1;j<w;j++)
        {
            if(used[i][j]) break;
            used[i][j] = 1;
        }
    }
    pr.push_back(c[x][y]);
}

int col_br;
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500])
{
    h = H;
    w = W;
    int avg;
    int x,y,z;
    for(int i = 0; i < H; i++)
    {
        for(int j = 0; j < W; j++)
        {
            avg += R[i][j]+G[i][j]+B[i][j];
            x += R[i][j];
            y += G[i][j];
            z += B[i][j];
            r[i][j] = R[i][j]/10;
            g[i][j] = G[i][j]/10;
            b[i][j] = B[i][j]/10;
            c[i][j] = r[i][j]*10000 + g[i][j]*100 + b[i][j];
        }
    }
    avg /= (H*W);
    for(int i = 0; i < H; i++)
    {
        for(int j = 0; j < W; j++)
        {
            if(!used[i][j])
            {
                dfs({i,j});
                comp.push_back(c[i][j]);
                mymap[c[i][j]]++;
                if(mymap[c[i][j]]==1) col_br++;
            }
        }
    }
    memset(used,0,sizeof(used));
    for(int i = 0; i<H;i++)
    {
        for(int j=0;j<W;j++)
        {
            ps(i,j);
        }
    }
    int csz = comp.size();
    int psz = pr.size();
    if(col_br<=5&&abs(csz-psz)<=5) return 4;
    if(col_br<=7&&abs(csz-psz)<=csz) return 1;
    if(col_br<=120&&avg<=95) return 3;
    return 2;
}

/*int main()
{
    int h,w;
    int R[500][500],G[500][500],B[500][500];
    cout << style(h,w,R,G,B) << endl;
    return 0;
}*/

Compilation message

artclass.cpp: In function 'int style(int, int, int (*)[500], int (*)[500], int (*)[500])':
artclass.cpp:79:9: warning: 'avg' may be used uninitialized in this function [-Wmaybe-uninitialized]
   79 |     avg /= (H*W);
      |     ~~~~^~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 58 ms 19148 KB Output isn't correct
2 Incorrect 37 ms 17100 KB Output isn't correct
3 Incorrect 41 ms 18380 KB Output isn't correct
4 Incorrect 53 ms 20180 KB Output isn't correct
5 Correct 34 ms 13776 KB Output is correct
6 Incorrect 42 ms 17356 KB Output isn't correct
7 Incorrect 55 ms 21000 KB Output isn't correct
8 Incorrect 25 ms 12236 KB Output isn't correct
9 Incorrect 51 ms 20940 KB Output isn't correct
10 Correct 45 ms 18904 KB Output is correct
11 Incorrect 33 ms 16220 KB Output isn't correct
12 Incorrect 39 ms 16072 KB Output isn't correct
13 Incorrect 40 ms 16332 KB Output isn't correct
14 Incorrect 12 ms 9564 KB Output isn't correct
15 Incorrect 55 ms 19396 KB Output isn't correct
16 Incorrect 48 ms 18652 KB Output isn't correct
17 Correct 45 ms 19028 KB Output is correct
18 Correct 45 ms 19148 KB Output is correct
19 Incorrect 30 ms 13012 KB Output isn't correct
20 Incorrect 57 ms 20700 KB Output isn't correct
21 Correct 44 ms 18632 KB Output is correct
22 Incorrect 52 ms 20960 KB Output isn't correct
23 Incorrect 52 ms 16076 KB Output isn't correct
24 Incorrect 48 ms 16340 KB Output isn't correct
25 Incorrect 50 ms 20172 KB Output isn't correct
26 Incorrect 27 ms 14548 KB Output isn't correct
27 Incorrect 37 ms 17688 KB Output isn't correct
28 Correct 45 ms 18636 KB Output is correct
29 Incorrect 29 ms 14024 KB Output isn't correct
30 Incorrect 50 ms 18632 KB Output isn't correct
31 Correct 46 ms 18372 KB Output is correct
32 Correct 34 ms 16308 KB Output is correct
33 Incorrect 33 ms 15588 KB Output isn't correct
34 Incorrect 43 ms 18888 KB Output isn't correct
35 Incorrect 54 ms 19400 KB Output isn't correct
36 Incorrect 43 ms 18920 KB Output isn't correct
37 Incorrect 49 ms 19668 KB Output isn't correct
38 Incorrect 31 ms 16092 KB Output isn't correct
39 Correct 43 ms 17616 KB Output is correct
40 Incorrect 46 ms 17096 KB Output isn't correct
41 Incorrect 36 ms 17356 KB Output isn't correct
42 Incorrect 36 ms 16328 KB Output isn't correct
43 Correct 45 ms 18888 KB Output is correct
44 Incorrect 49 ms 18884 KB Output isn't correct
45 Incorrect 43 ms 18508 KB Output isn't correct
46 Incorrect 40 ms 16844 KB Output isn't correct
47 Correct 40 ms 17608 KB Output is correct
48 Correct 40 ms 17876 KB Output is correct
49 Correct 46 ms 19152 KB Output is correct
50 Correct 44 ms 18892 KB Output is correct
51 Incorrect 53 ms 20936 KB Output isn't correct
52 Incorrect 55 ms 20828 KB Output isn't correct
53 Incorrect 64 ms 20872 KB Output isn't correct
54 Incorrect 17 ms 11352 KB Output isn't correct
55 Incorrect 45 ms 18396 KB Output isn't correct
56 Incorrect 52 ms 19920 KB Output isn't correct
57 Incorrect 60 ms 20424 KB Output isn't correct
58 Incorrect 49 ms 19400 KB Output isn't correct
59 Incorrect 46 ms 19660 KB Output isn't correct
60 Correct 41 ms 18368 KB Output is correct
61 Correct 40 ms 17884 KB Output is correct
62 Incorrect 53 ms 20936 KB Output isn't correct
63 Incorrect 38 ms 17356 KB Output isn't correct
64 Correct 42 ms 18376 KB Output is correct
65 Correct 36 ms 17364 KB Output is correct
66 Incorrect 33 ms 14816 KB Output isn't correct
67 Incorrect 41 ms 16528 KB Output isn't correct
68 Incorrect 22 ms 12516 KB Output isn't correct
69 Correct 45 ms 18892 KB Output is correct
70 Correct 42 ms 18124 KB Output is correct
71 Incorrect 36 ms 17352 KB Output isn't correct
72 Incorrect 45 ms 17612 KB Output isn't correct
73 Incorrect 60 ms 19144 KB Output isn't correct
74 Incorrect 51 ms 18920 KB Output isn't correct
75 Correct 40 ms 17580 KB Output is correct
76 Correct 42 ms 18636 KB Output is correct
77 Incorrect 53 ms 20936 KB Output isn't correct
78 Incorrect 30 ms 15568 KB Output isn't correct
79 Incorrect 59 ms 20944 KB Output isn't correct
80 Correct 49 ms 18384 KB Output is correct
81 Incorrect 51 ms 20988 KB Output isn't correct
82 Incorrect 45 ms 18636 KB Output isn't correct
83 Incorrect 50 ms 18864 KB Output isn't correct
84 Correct 51 ms 18772 KB Output is correct
85 Incorrect 29 ms 13792 KB Output isn't correct
86 Incorrect 33 ms 13788 KB Output isn't correct
87 Correct 47 ms 18632 KB Output is correct
88 Incorrect 41 ms 18888 KB Output isn't correct
89 Incorrect 45 ms 18908 KB Output isn't correct
90 Incorrect 46 ms 18880 KB Output isn't correct
91 Incorrect 50 ms 20188 KB Output isn't correct
92 Incorrect 51 ms 18892 KB Output isn't correct
93 Incorrect 52 ms 20960 KB Output isn't correct
94 Incorrect 45 ms 18976 KB Output isn't correct
95 Incorrect 51 ms 20736 KB Output isn't correct
96 Incorrect 33 ms 16848 KB Output isn't correct
97 Correct 43 ms 18048 KB Output is correct
98 Incorrect 48 ms 18392 KB Output isn't correct
99 Incorrect 40 ms 17868 KB Output isn't correct
100 Incorrect 44 ms 18396 KB Output isn't correct
101 Incorrect 33 ms 16600 KB Output isn't correct
102 Correct 47 ms 18380 KB Output is correct