제출 #799545

#제출 시각아이디문제언어결과실행 시간메모리
799545burythelightdeepwithin길고양이 (JOI20_stray)C++14
5 / 100
40 ms16944 KiB
#include <bits/stdc++.h>
#include "Anthony.h"
 
using namespace std;
 
vector <pair <int, int> > adj[20003], adj_dfs[20003];
vector <int> plan;
int vs[20003];
queue <int> q;
vector <int> leaf;
 
void bfs(){
    while(!q.empty()){
        int u = q.front();
        vs[u] = 1;
        q.pop();
        for (auto e: adj[u]){
            int v = e.first, id = e.second;
            if (!vs[v]){
                q.push(v);
                vs[v] = 1;
                adj_dfs[u].push_back({v, id});
                //adj_dfs[v].push_back({u, id});
            }
        }
    }
}
 
void dfs(int u, int mark){
    vs[u] = 1;
    for (auto e: adj_dfs[u]){
        int v = e.first, id = e.second;
        if (!vs[v]){
            plan[id] = mark;
            dfs(v, (mark^1));
        }
    }
}
 
vector <int> Mark(int N, int M, int A, int B, vector<int> U, vector <int> V){
    for (int i = 0; i < M; i++){
        adj[U[i]].push_back({V[i], i});
        adj[V[i]].push_back({U[i], i});
        plan.push_back(-1);
    }
    q.push(0);
    bfs();
    for (int i = 0; i < N; i++){
        vs[i] = 0;
    }
    dfs(0, 0);
    for (int i = 0; i < M; i++){
        if (plan[i] == -1){
            plan[i] = 2;
        }
    }
    return plan;
}
#include <bits/stdc++.h>
#include "Catherine.h"
 
using namespace std;
 
int first = -1, last = -1, cnt = 0;
 
void Init(int A, int B){
 
}
 
int Move(vector <int> y){
    if (first == -1){
        if (last == -1){
            if (y[0] == 0){
                first = 1;
                return first;
            } else if (y[1] == 0){
                first = 0;
                return first;
            }
            if (y[0] > y[1]){
                first = 1;
                return first;
            } else if (y[0] < y[1]){
                first = 0;
                return first;
            } else {
                last = 0;
                return 0;
            }
        } else {
            if (y[last^1] != 1){
                first = last;
                return -1;
            } else {
                last ^= 1;
                return last;
            }
        }
    } else {
        if (y[0] == 1){
          if (y[1] == 0){
              last = 0;
              return 0;
          } else {
              last ^= 1;
              return last;
          }
      } else if (y[1] == 1) {
          if (y[0] == 0){
              last = 1;
              return 1;
          } else {
              last ^= 1;
              return last;
          }
      }
    }
}

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

Catherine.cpp: In function 'int Move(std::vector<int>)':
Catherine.cpp:60:1: warning: control reaches end of non-void function [-Wreturn-type]
   60 | }
      | ^
#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...