답안 #200295

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
200295 2020-02-06T09:04:23 Z Nordway 무지개나라 (APIO17_rainbow) C++14
컴파일 오류
0 ms 0 KB
#include<bits/stdc++.h>
#include "rainbow.h"

#define x first
#define y second
#define pb push_back
#define sz(v) (int)v.size()

using namespace std;

const int N=1e3+11;
const int dx[4]={0,0,-1,1};
const int dy[4]={1,-1,0,0};

int n,m;
int x,y;
string s;
bool used[N][N];

void init(int R, int C, int sr, int sc, int M, string S) {
  n=R;
  m=C;
  x=sr,y=sc;
  s=S;
}

void dfs(int r,int c){
  used[r][c]=1;
  //cout<<r<<" "<<c<<endl;
  for(int i=0;i<4;i++){
    int nx=r+dx[i],ny=c+dy[i];
    if(used[nx][ny])continue;
    dfs(nx,ny);
  }
}

int colour(int ar, int ac, int br, int bc) {
  if(max(n,m)<=50){
    int ans=0;
    for(int i=0;i<=n+1;i++){
      for(int j=0;j<=m+1;j++){
        if(ar<=i&&i<=br&&ac<=j&&j<=bc){
          used[i][j]=0;
          continue;
        }
        used[i][j]=1;
      }
    }
    int sr=x,sc=y;
    used[sr][sc]=1;
    for(int i=0;i<sz(s);i++){
      if(s[i]=='N')sr--;
      if(s[i]=='S')sr++;
      if(s[i]=='W')sc--;
      if(s[i]=='E')sc++;
      used[sr][sc]=1;
    }
   /* for(int i=0;i<=n+1;i++){
      for(int j=0;j<=m+1;j++){
        cout<<used[i][j];
      }
      cout<<endl;
    }*/
    for(int i=ar;i<=br;i++){
      for(int j=ac;j<=bc;j++){
        if(!used[i][j]){
          dfs(i,j);
          //cout<<endl;
          ans++;
        }
      }
    }
    return ans;
  }
}

Compilation message

rainbow.cpp: In function 'int colour(int, int, int, int)':
rainbow.cpp:75:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
/tmp/ccCWW0L9.o: In function `main':
grader.cpp:(.text.startup+0xcc): undefined reference to `init(int, int, int, int, int, char*)'
collect2: error: ld returned 1 exit status