Submission #962192

#TimeUsernameProblemLanguageResultExecution timeMemory
962192simona1230Art Class (IOI13_artclass)C++17
0 / 100
60 ms11120 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]) { 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]; } } lim=20; 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}); } } return 4; }
#Verdict Execution timeMemoryGrader output
Fetching results...