답안 #1040741

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1040741 2024-08-01T08:52:10 Z 변재우(#10999) The Ties That Guide Us (CEOI23_incursion) C++17
0 / 100
186 ms 13004 KB
#include "incursion.h"
#include <bits/stdc++.h>
using namespace std;

namespace asdf {
  const int Nmax=45010;
  int N;
  vector<int> adj[Nmax], ret;
  void DFS(int curr, int prev, int x) {
    ret[curr-1]=x;
    for(int next:adj[curr]) if(next!=prev) DFS(next, curr, x+1);
  }
  vector<int> mark(vector<pair<int, int>> F, int safe) {
    N=F.size()+1;
    for(int i=0; i<N-1; i++) adj[F[i].first].push_back(F[i].second), adj[F[i].second].push_back(F[i].first);
    ret.resize(N);
    DFS(safe, -1, 0);
    return ret;
  }
}

namespace qwer {
  const int Nmax=45010;
  int N, cnt=0;
  vector<int> adj[Nmax];
  void DFS(int curr, int prev, int val) {
    for(int next:adj[curr]) if(next!=prev) {
      int tmp=visit(next);
      if(!tmp) return;
      if(tmp<val) DFS(next, curr, tmp);
      else visit(curr);
    }
  }
  void locate(vector<pair<int, int>> F, int curr, int t) {
    N=F.size()+1;
    for(int i=0; i<N-1; i++) adj[F[i].first].push_back(F[i].second), adj[F[i].second].push_back(F[i].first);
    for(int i=1; i<=N; i++) {
      int t=rand()%12;
      for(int j=0; j<t; j++) next_permutation(adj[i].begin(), adj[i].end());
    }
    if(!t) return;
    DFS(curr, 0, t);
  }
}

std::vector<int> mark(std::vector<std::pair<int, int>> F, int safe) {
  return asdf::mark(F, safe);
}

void locate(std::vector<std::pair<int, int>> F, int curr, int t) {
  qwer::locate(F, curr, t);
}

Compilation message

interface.cpp: In function 'int main()':
interface.cpp:44:55: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   44 |     if(fread(T.data(), sizeof(int), 2 * N - 2, stdin) != 2 * N - 2) exit(0);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
interface.cpp:50:33: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   50 |         int l = (numbers.size() == N ? N : 0);
      |                  ~~~~~~~~~~~~~~~^~~~
# 결과 실행 시간 메모리 Grader output
1 Partially correct 2 ms 4864 KB Partially correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 186 ms 13004 KB Partially correct
2 Partially correct 177 ms 12880 KB Partially correct
3 Incorrect 100 ms 11672 KB Not correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 71 ms 10136 KB Partially correct
2 Incorrect 55 ms 10148 KB Not correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 2 ms 4864 KB Partially correct
2 Partially correct 186 ms 13004 KB Partially correct
3 Partially correct 177 ms 12880 KB Partially correct
4 Incorrect 100 ms 11672 KB Not correct
5 Halted 0 ms 0 KB -