Submission #710409

#TimeUsernameProblemLanguageResultExecution timeMemory
710409zyq_길고양이 (JOI20_stray)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; vector<pair<int, int> > adjList[200010]; int lonecnt[200010]; int ans[200010]; int lonecolour[] = {0, 1, 1, 0, 0, 1}; void dfs(int x, int dist, int parent = -1){ //ret val is lone seg count for(auto it: adjList[x]){ if(it.first == parent) continue; if((x==0 && (int)adjList[x].size()==1)||(x!=0&&(int)adjList[x].size()==2)){ if(lonecnt[x] != 0){ lonecnt[it.first] = lonecnt[x]+1; } else{ if(dist % 2 == 0){ lonecnt[it.first] = 1; } else{ lonecnt[it.first] = 0; } } } dfs(it.first, dist+1, x); } } //weve got the lonecnt time to colour some stuff void colouring(int x, int prev, int parent = -1){ for(auto it: adjList[x]){ if(it.first == parent) continue; //start to colour from 0 if(lonecnt[it.first] == 0){ ans[it.second] = (prev+1)%2; } else{ ans[it.second] = lonecolour[(lonecnt[it.first]-1)%6]; } colouring(it.first, ans[it.second], x); } } vector::Mark(int N, int M, int A, int B, vector<int> U, vector<int> V){ //look for lone segments for(int a=0; a<M; a++){ adjList[U[a]].push_back({V[a], a}); adjList[V[a]].push_back({U[a], a}); } dfs(0, 0); colouring(0, 1); int ret[M]; for(int a=0; a<M; a++) ret[a] = ans[a]; return ret; }
#include <bits/stdc++.h> using namespace std; bool resolved; int prev1, prev2, prev3, prev4, prev5, prev6; void Init(){ resolved = false; prev1 = prev2 = prev3 = prev4 = prev5 = prev6 = -1; } int Move(vector<int> y){ //check LOL if(resolved){ //keep moving in different if(prev1 == 0){ prev1 = 1; return 1; } else{ prev1 = 0; return 0; } } else{ //check if current place is good ? if(y[0] + y[1] == 1){ resolved = true; if(y[0] == 1){ prev1 = 0; return 0; } else{ prev1 = 1; return 1; } } if(y[0] + y[1] > 2){ if(y[0] == 1){ resolved = true; prev1 = 0; return 0; } else{ resolved = true; prev1 = 1; return 1; } } //now is when on lone //start moving if(prev1 == -1){ //first step return 0; } else{ //not first step prev6 = prev5; prev5 = prev4; prev4 = prev3; prev3 = prev2; prev2 = prev1; //look at prev2 if(y[0] == 2){ prev1 = 0; } else if(y[1] == 2){ prev1 = 1; } else{ if(prev2 == 1){ prev1 = 0; } else{ prev1 = 1; } } if(prev1 != prev2 && prev3 == prev4 && prev3 != -1){ resolved = true; if(prev3 = 0){ //rightdirectoin return prev1; } else{ return -1; } } else{ return prev1; } } } }

Compilation message (stderr)

Anthony.cpp:45:7: error: deduced class type 'vector' in function return type
   45 | vector::Mark(int N, int M, int A, int B, vector<int> U, vector<int> V){
      |       ^~
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/functional:62,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Anthony.cpp:1:
/usr/include/c++/10/bits/stl_vector.h:389:11: note: 'template<class _Tp, class _Alloc> class std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~

Catherine.cpp: In function 'int Move(std::vector<int>)':
Catherine.cpp:80:26: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   80 |                 if(prev3 = 0){
      |                    ~~~~~~^~~
/usr/bin/ld: /tmp/cc91FogG.o: in function `main':
grader_catherine.cpp:(.text.startup+0x41c): undefined reference to `Init(int, int)'
collect2: error: ld returned 1 exit status