제출 #579784

#제출 시각아이디문제언어결과실행 시간메모리
5797841neGondola (IOI14_gondola)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; #include "gondola.h" int valid(int n, int inputSeq[]) { int index = -1; for (int i = 0;i<n;++i){ if (inputSeq[i] <=n){ index = i; } } map<int,int>visited; if (index == -1){ for (int i = 0;i<n;++i){ int x = inputSeq[i]; if (visited[x])return 0; visited[x] = true; } return 1; } for (int i = 0;i<n;++i){ int j = (i + index)%n; int temp = inputSeq[index] + i; if (temp > n)temp = temp % n; if (visited[temp] || visited[inputSeq[j]])return 0; visited[temp] = true; visited[inputSeq[j]] = true; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int index = -1; int maxxy = 1; for (int i = 0;i<n;++i){ if (gondolaSeq[i] <=n){ index = i; } maxxy = max(gondolaSeq[i],maxxy); } map<int,int>visited; if (index == -1){ for (int i = 0;i<n;++i){ visited[gondolaSeq[i]] = true; } int cur = 0; for (int i = 1;i<=maxxy;++i){ if (!visited[i])replacementSeq[cur++] = i; } return cur; } int extra = n + 1; for (int i = 0;i<n;++i){ visited[gondolaSeq[i]] = i + 1; } int cur = 0; for (int i = 0;i<n;){ int j = (i + index)%n; int temp = gondolaSeq[index] + i; if (temp > n)temp = temp % n; if (gondolaSeq[j] == temp){ ++i; continue; } if (visited[extra] && extra!=gondolaSeq[j]){ int temp2 = visited[extra] - index; if (temp2 <= 0)temp2+=n; temp2 = gondolaSeq[index] + temp2; if (temp2 > n)temp2 = temp2 % n; replacementSeq[cur++] = temp2; extra++; } else{ replacementSeq[cur++] = temp; while(!visited[extra]){ replacementSeq[cur++] = extra++; } extra++; ++i; } } return cur; }

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

/usr/bin/ld: /tmp/cc6sBv7y.o: in function `main':
grader.cpp:(.text.startup+0x108): undefined reference to `countReplacement'
collect2: error: ld returned 1 exit status