Submission #248825

#TimeUsernameProblemLanguageResultExecution timeMemory
248825andreiomdStray Cat (JOI20_stray)C++17
15 / 100
73 ms17284 KiB
#include "Anthony.h" #include <bits/stdc++.h> using namespace std; const int NMAX = 2e4 + 5; const int ROOT = 0; vector < int > G[NMAX]; vector < int > ans; int Level[NMAX]; bool Sel[NMAX]; queue < int > Q; void Add_Edge (int x, int y) { G[x].push_back(y), G[y].push_back(x); return; } void BFS (int Node) { Sel[Node] = 1, Level[Node] = 0; Q.push(Node); while(!Q.empty()) { int Node = Q.front(); Q.pop(); for(auto it : G[Node]) if(!Sel[it]) { Sel[it] = 1, Level[it] = 1 + Level[Node]; Q.push(it); } } return; } vector < int > Mark (int N, int M, int A, int B, vector < int > U, vector < int > V) { for(int i = 0; i < M; ++i) { int X = U[i], Y = V[i]; Add_Edge(X, Y); } BFS(ROOT); ans.resize(M); ans.shrink_to_fit(); for(int i = 0; i < M; ++i) ans[i] = min(Level[U[i]], Level[V[i]]) % 3; return ans; }
#include "Catherine.h" #include <bits/stdc++.h> using namespace std; int A, B; void Init (int a, int b) { A = a, B = b; return; } int Move (vector < int > y) { int cnt = 0, X = -1; for(int i = 0; i < A; ++i) if(y[i]) ++cnt, X = i; if(cnt == 1) return X; if(y[0] && y[1]) return 0; if(y[1] && y[2]) return 1; return 2; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...