제출 #1201077

#제출 시각아이디문제언어결과실행 시간메모리
1201077Marco_EscandonArt Class (IOI13_artclass)C++20
컴파일 에러
0 ms0 KiB

//#include "artclass.h"
#include<bits/stdc++.h>
using namespace std;
int cnt(int n, int m, int R[500][500], int G[500][500], int B[500][500], int x) {
    vector<vector<int>> g(n, vector<int>(m, 0));
    for (int i = 0; i < n; i++){
        for (int j = 0; j < m; j++){
            g[i][j] = (int)(0.299 * R[i][j] + 0.587 * G[i][j] + 0.114 * B[i][j] + 0.5);
        }
    }
    
    vector<vector<bool>> v(n, vector<bool>(m, false));
    int c = 0;
    int dx[4] = { 1, 0, -1, 0 };
    int dy[4] = { 0, 1, 0, -1 };
    for (int i = 0; i < n; i++){
        for (int j = 0; j < m; j++){
            if (!v[i][j]) {
                c++;
                queue<pair<int, int>> st;
                st.push({i, j});
                v[i][j] = true;
                while (!st.empty()) {
                    auto [ci, cj] = st.front();
                    st.pop();
                    for (int k = 0; k < 4; k++) {
                        int ni = ci + dx[k], nj = cj + dy[k];
                        if (ni >= 0 && ni < n && nj >= 0 && nj < m && !v[ni][nj]) {
                            if (abs(g[ci][cj] - g[ni][nj]) < x) {
                                v[ni][nj] = true;
                                st.push({ni, nj});
                            }
                        }
                    }
                }
            }
        }
    }
    return c;
}
 
int dx[]={1,0,-1,0,1,1,-1,-1};
int dy[]={0,1,0,-1,1,-1,1,-1};
int style(int n, int m, int R[500][500], int G[500][500], int B[500][500]) {
    double c1=0,c2=0,c3=0;
    for(int i=1; i<n-1; i++)
    {
        for(int j=1; j<m-1; j++)
        {
            int temp=0;
            for(int k=0; k<4; k++)
            {
                if(R[i][j]==R[i+dx[k]][j+dy[k]]&&G[i][j]==G[i+dx[k]][j+dy[k]]&&B[i][j]==B[i+dx[k]][j+dy[k]]) temp++;
            }
            if(R[i][j]==0&&B[i][j]==0&&G[i][j]==0) c2++;
            if(R[i][j]==255||B[i][j]==255||G[i][j]==255) c2++;
            
            c1+=(temp>=3);
        }
    }
    if(c1*100/(n*m)>0.1)
    {
        if((double)cnt(n, m, R, G,B, 20)/(n*m)>0.0004||c2) return 1;
        else return 4;
    }
    return 3;
    
}

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

/usr/bin/ld: /tmp/ccghg0r4.o: in function `main':
grader.c:(.text.startup+0x202): undefined reference to `style'
collect2: error: ld returned 1 exit status