# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1243964 | meisgood | 미술 수업 (IOI13_artclass) | C++20 | 0 ms | 0 KiB |
// #include "artclass.h"
#include <bits/stdc++.h>
using namespace std ;
int rbdif ;
int rgdif ;
int bgdif ;
int ttdif ;
int rv ;
int gv ;
int bv ;
int ttd ;
vector <int> prop[4]={
{42,23,-19,189,166,146,17,389},
{38,4,-34,102,97+50,63,31,404},
{37,12,-25,151,138,113,89,709},
{102,68,-34,157,89,54,5,981}
} ;
void calc(){
rbdif/=9 ;
rgdif/=9 ;
bgdif/=9 ;
ttdif/9 ;
rv/=9 ;
gv/=9 ;
bv/=9 ;
ttd/=9 ;
// cout << rbdif << " " << rgdif << " " << bgdif << " " << rv << " " << gv << " " << bv << " " << " " << ttd << " " << ttdif << endl ;
}
#define runnnn
vector <int> divv={1,1,0,10,5,5,1,50} ;
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
int tt=0 ;
int ttc=0 ;
int i,j ;
int rr=0,gg=0,bb=0 ;
for (i = 0 ; i < H ; i ++){
for (j = 0 ; j < W ; j ++){
rr+=R[i][j] ;
gg+=G[i][j] ;
bb+=B[i][j] ;
if (i!=H-1) ttc++,tt+=abs(R[i][j]-R[i+1][j])+abs(G[i][j]-G[i+1][j])+abs(B[i][j]-B[i+1][j]) ;
if (j!=W-1) ttc++,tt+=abs(R[i][j]-R[i][j+1])+abs(G[i][j]-G[i][j+1])+abs(B[i][j]-B[i][j+1]) ;
}
}
tt/=ttc ;
rr/=(H*W) ;
gg/=(H*W) ;
bb/=(H*W) ;
// cout << rr << " " << gg << " " << bb << " " << tt << endl ;
int arr[5]={0,0,0,0,0} ;
rbdif+=rr-bb ;
rgdif+=rr-gg ;
bgdif+=bb-gg ;
ttdif+=max(abs(rr-gg),max(abs(rr-bb),abs(bb-gg))) ;
rv+=rr,gv+=gg,bv+=bb ;
ttd+=tt ;
vector <int> prop0 ;
// calc() ;
prop0={rbdif,rgdif,bgdif,rv,gv,bv,ttd,ttdif} ;
vector <int> sim(4,0) ;
int mn=INT_MAX ;
// sim[1]-=20 ;
// sim[2]+=30 ;
// sim[3]+=30 ;
for (i = 0 ; i < 4 ; i ++){
for (j = 0 ; j < prop0.size() ; j ++){
if (divv[j]<=0) sim[i]+=abs(prop0[j]*divv[j]-prop[i][j]*divv[j]) ;
else sim[i]+=abs(prop0[j]/divv[j]-prop[i][j]/divv[j]) ;
}
mn=min(mn,sim[i]) ;
// cout << sim[i] << " " ;
}
for (i = 0 ; i < 4 ; i ++){
if (mn==sim[i]) return i+1 ;
}
return 0;
}
void solve(){
int n,m,i,j ;
int R[500][500] ;
int G[500][500] ;
int B[500][500] ;
cin >> n >> m ;
for (i = 0 ; i < n ; i ++){
for (j = 0 ; j < m ; j ++){
cin >> R[i][j] >> G[i][j] >> B[i][j] ;
}
}
// style(n,m,R,G,B) ;
cout << style(n,m,R,G,B) << endl ;
}
void reset(){
rbdif=0 ;
rgdif=0 ;
bgdif=0 ;
ttdif=0 ;
rv=0 ;
gv=0 ;
bv=0 ;
ttd=0 ;
}
// /*
#ifdef runnnn
int main(){
reset() ;
solve() ;
return 0 ;
}
#else
// */
// /*
int main(){
reset() ;
freopen("images/style-1/style-1-1.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-2.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-3.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-4.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-5.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-6.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-7.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-8.txt","r",stdin) ; solve() ;
freopen("images/style-1/style-1-9.txt","r",stdin) ; solve() ;
calc() ;
cout << "A\n" ;
reset() ;
freopen("images/style-2/style-2-1.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-2.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-3.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-4.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-5.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-6.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-7.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-8.txt","r",stdin) ; solve() ;
freopen("images/style-2/style-2-9.txt","r",stdin) ; solve() ;
calc() ;
cout << "A\n" ;
freopen("images/style-3/style-3-1.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-2.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-3.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-4.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-5.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-6.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-7.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-8.txt","r",stdin) ; solve() ;
freopen("images/style-3/style-3-9.txt","r",stdin) ; solve() ;
calc() ;
cout << "A\n" ;
reset() ;
freopen("images/style-4/style-4-1.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-2.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-3.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-4.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-5.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-6.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-7.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-8.txt","r",stdin) ; solve() ;
freopen("images/style-4/style-4-9.txt","r",stdin) ; solve() ;
calc() ;
cout << "A\n" ;
return 0 ;
}
// */
#endif