Submission #1012596

#TimeUsernameProblemLanguageResultExecution timeMemory
1012596amirhoseinfar1385Art Class (IOI13_artclass)C++17
29 / 100
45 ms15192 KiB
#include "artclass.h" #include<bits/stdc++.h> using namespace std; const int maxn=500+10; int vis[maxn][maxn],all[maxn][maxn],n=500; void dfs(int i,int j){ if(i<1||i>n||j<1||j>n||vis[i][j]==1||all[i][j]==0){ return ; } vis[i][j]=1; for(int a=-1;a<=1;a++){ for(int b=-1;b<=1;b++){ dfs(i+a,j+b); } } } int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) { int cn4=0; for(int i=1;i<=n-1;i++){ for(int j=1;j<=n-1;j++){ if(abs(G[i][j]-G[i][j+1])>40||abs(R[i][j]-R[i][j+1])>40||abs(B[i][j]-B[i][j+1])>40){ cn4++; } } } if(cn4<=n*5){ return 4; } int cnt=0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(max(R[i][j],max(G[i][j],B[i][j]))-min(R[i][j],min(G[i][j],B[i][j]))<=20&&max(R[i][j],max(G[i][j],B[i][j]))<=50){ all[i][j]=1; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(vis[i][j]==0&&all[i][j]==1){ dfs(i,j); cnt++; } } } if(cnt<=100){ return 1; } int cn2=0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(G[i][j]>=100&&max(R[i][j],B[i][j])<=G[i][j]+30){ cn2++; } } } if(cn2*70>=500*500){ return 2; } return 3; }
#Verdict Execution timeMemoryGrader output
Fetching results...