Submission #962309

#TimeUsernameProblemLanguageResultExecution timeMemory
962309simona1230Art Class (IOI13_artclass)C++17
0 / 100
63 ms15440 KiB
#include <bits/stdc++.h>
#include "artclass.h"
using namespace std;
int h,w,r[501][501],g[501][501],b[501][501];
int lim;
struct ver
{
    int x,y;
    ver(){}
    ver(int _x,int _y)
    {
        x=_x;
        y=_y;
    }

    ver operator+(ver v)
    {
        return {v.x+x,v.y+y};
    }
};
int comp[501][501],num;
int fg,fb,fr;
ver p[4]={{1,0},{0,1},{-1,0},{0,-1}};
bool in_range(ver i)
{
    return i.x>=0&&i.x<h&&i.y>=0&&i.y<w;
}

bool corr(ver i)
{
    return abs(r[i.x][i.y]-fr)<=lim&&abs(g[i.x][i.y]-fg)<=lim&&abs(b[i.x][i.y]-fg)<=lim;
}
void dfs(ver i)
{
    comp[i.x][i.y]=num;
    for(int j=0;j<4;j++)
    {
        ver nb=p[j]+i;
        if(in_range(nb)&&!comp[nb.x][nb.y]&&corr(i))
            dfs(nb);
    }
}
int style(int H,int W,int R[500][500],int G[500][500],int B[500][500])
{
    cout<<"here"<<endl;
    h=H;w=W;
    for(int i=0;i<h;i++)
    {
        for(int j=0;j<w;j++)
        {
            r[i][j]=R[i][j];
            g[i][j]=G[i][j];
            b[i][j]=B[i][j];
        }
    }
    int gr=0;
    int wh=0;

    lim=30;
    for(int i=0;i<h;i++)
    {
        for(int j=0;j<w;j++)
        {
            num++;
            fg=g[i][j];
            fb=b[i][j];
            fr=r[i][j];
            dfs({i,j});
            if(g[i][j]>=125&&b[i][j]<=125&&r[i][j]<=75)gr++;
            if(r[i][j]>=200&&b[i][j]>=200&&g[i][j]>=200)wh++;
        }
    }
    double perg=gr/(w*h);
    double perw=wh/(w*h);

    cout<<num<<" "<<perg<<" "<<perw<<endl;

    if(num<=10)
    {
        if(perw>=50)return 1;
        return 4;
    }
    else
    {
        if(perg>=30)return 2;
        return 3;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...