제출 #575812

#제출 시각아이디문제언어결과실행 시간메모리
575812Belgutei미술 수업 (IOI13_artclass)C++17
18 / 100
57 ms3256 KiB
#include "artclass.h" #include <bits/stdc++.h> #define ll long long #define pb push_back #define pp pop_back #define mp make_pair #define bb back #define ff first #define ss second using namespace std; bool inbound(pair<int, int> now, int H, int W) { if (now.ff < 0 || now.ff >= H) return 0; if (now.ss < 0 || now.ss >= W) return 0; return 1; } int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) { pair<int, int> dir[4] = {{0, 1}, {1, 0}, {-1, 0}, {0, -1}}; long long avr = 0, avg = 0, avb = 0, avdisp = 0, now, cnt, total = 0; for (int i = 0; i < H; i++) for (int j = 0; j < W; j++) { avr += R[i][j]; avg += G[i][j]; avb += B[i][j]; now = 0, cnt = 0; for (int k = 0; k < 4; k++) { if (!inbound({i+dir[k].ff, j+dir[k].ss}, H, W)) continue; cnt++; now += abs(R[i][j]-R[i+dir[k].ff][j+dir[k].ss]); now += abs(G[i][j]-G[i+dir[k].ff][j+dir[k].ss]); now += abs(B[i][j]-B[i+dir[k].ff][j+dir[k].ss]); } if (cnt) { now /= cnt*3; if (now > 40) avdisp++; } } if (avdisp) avdisp = H*W/avdisp; avr /= (H*W); avg /= (H*W); avb /= (H*W); // cout << avr << ' ' << avg << ' ' << avb << ' ' << avdisp << '\n'; if (avdisp < 40 && avdisp >= 5) return 1; if (avdisp < 5) return 3; if (avdisp > 500) return 4; if (abs(avg-avb)+abs(avr-avb) > 50) return 2; return 1; }

컴파일 시 표준 에러 (stderr) 메시지

artclass.cpp: In function 'int style(int, int, int (*)[500], int (*)[500], int (*)[500])':
artclass.cpp:21:64: warning: unused variable 'total' [-Wunused-variable]
   21 |     long long avr = 0, avg = 0, avb = 0, avdisp = 0, now, cnt, total = 0;
      |                                                                ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...