답안 #887751

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
887751 2023-12-15T07:20:55 Z Danet 무지개나라 (APIO17_rainbow) C++14
컴파일 오류
0 ms 0 KB
/****************************D A N E T****************************
***  ██████╗     █████╗    ███╗   ██╗   ███████╗   ████████╗   ***
***	 ██╔══██╗   ██╔══██╗   ████╗  ██║   ██╔════╝   ╚══██╔══╝   ***
***	 ██║  ██║   ███████║   ██╔██╗ ██║   █████╗        ██║      ***
***	 ██║  ██║   ██╔══██║   ██║╚██╗██║   ██╔══╝        ██║      ***
***	 ██████╔╝   ██║  ██║   ██║ ╚████║   ███████╗      ██║      ***
***	 ╚═════╝    ╚═╝  ╚═╝   ╚═╝  ╚═══╝   ╚══════╝               ***                              
****************************D A N E T****************************/
#include <bits/stdc++.h>
using namespace std;
/**************************P R A G M As**************************/
#pragma GCC optimize("O3")
/**************************D E F I N Es**************************/
#define Tof_Io  		ios_base::sync_with_stdio(false);cin.tie(0) , cout.tie(0);
#define int  			long long int
#define double  		long double
#define pb				push_back
#define endl 			'\n'
/*****************D E F I N Es-F U N C T I O Nes*****************/
#define debug(x)    	cerr << #x << ": " << x << endl
#define kill(x)     	cout << x << endl, exit(0)
#define all(x) 			x.begin(),x.end()
#define yes             cout << "Yes"
#define no              cout <<"No"
/***************************C O N S Ty***************************/
const double 			PI = 3.141592653589793;
const int 				mod = 998244353;//1e9+7 998244353
const int 				inf = 1e9+9;
const int 				logt = 18;
const int               N = 500 + 23;
/***************************B U I L Dy***************************/
int fac[N];
int inv[N];
vector<int> adj[N];
bool seen[N][N];
string str;
int n, m;
vector<pair<int, int> > dx = {{-1, 0}, {1, 0}, {0, 1}, {0, -1}};
/****************************N O T Ey****************************/
/*

*/
/***********************F U N C T I O N es***********************/
int  dnt_pow	(int a, int b, int md = mod){int ans = 1; while(b){if(b&1){ans = (a*ans)%md;}a = (a*a)%md;b >>= 1;}return ans ;}
void dnt_bld	(){fac[0] = 1; inv[0] = dnt_pow(fac[0],mod-2) ;for(int i = 1 ; i < N ; i++) {fac[i] = (fac[i-1] * i) % mod;inv[i] = dnt_pow( fac[i] , mod-2);}}
int  dnt_ncr	(int n,int r){return fac[n] * inv[r] % mod * inv[n-r] % mod;}
void dnt_cal(int e, int s) {seen[e][s] = 1;for(auto x : str) {if(x == 'N') e--;if(x == 'S') e++;if(x == 'W') s--;if(x == 'E') s++;seen[e][s] = 1;}}

/****************************************************************/ 
void init(int R, int C, int sr, int sc, int M, char *S) 
{
    n = R; 
    m = C;
    for(int i = 0; i < M; i++) str.push_back(S[i]);
    dnt_cal(sr, sc);
}
 
int colour(int ar, int ac, int br, int bc) 
{
    int ans = 0;
    bool seen2[N][N] = {};
    for(int i = ar; i <= br; i++) 
    {
        for(int j = ac; j <= bc; j++) 
        {
            if(seen2[i][j]) continue ;
            if(seen[i][j]) continue;


            int e = i; 

            int s = j;

            int pe, ps;

            //BFS:

            queue<pair<int, int> > q;

            q.push(make_pair(e,s));
            while(!q.empty()) 
            {
                e = q.front().first;
                s = q.front().second;
                q.pop();
                for(auto x : dx) 
                {
                    pe = x.first + e; 
                    ps = x.second + s;
                    if(pe < ar or pe > br or ps < ac or ps > bc) 
                    {
                        continue;
                    }
                    if(seen2[pe][ps]) 
                    {
                        continue;
                    }
                    if(seen[pe][ps]) 
                    {
                        continue;
                    }
                    seen2[pe][ps] = 1;

                    q.push(make_pair(pe,ps));
                }
            }
            ans++;
        }
    }
    return ans;
}

Compilation message

/usr/bin/ld: /tmp/ccrOFZ0r.o: in function `main':
grader.cpp:(.text.startup+0xed): undefined reference to `init(int, int, int, int, int, char*)'
/usr/bin/ld: grader.cpp:(.text.startup+0x167): undefined reference to `colour(int, int, int, int)'
collect2: error: ld returned 1 exit status