제출 #533205

#제출 시각아이디문제언어결과실행 시간메모리
533205christinelynnBosses (BOI16_bosses)C++17
0 / 100
1 ms460 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll n;
vector<ll> adj[5005];
ll dist[5005][5005];
bool vis[5005][5005];

ll bfs(ll x) {
  queue <ll> q;
  q.push(x);
  ll sum = 1;
  dist[x][x] = 1;
  ll mx = 0;
  vis[x][x] = true;
  while(!q.empty()) {
    ll cur = q.front();
    q.pop();
    for(ll i = 0; i < adj[cur].size(); i++) {
      ll next = adj[cur][i];
      if (!vis[next][x]) {
        vis[next][x] = true;
        dist[next][x] = dist[cur][x] + 1;
        sum += dist[next][x];
        mx = max(mx, dist[next][x]);
        q.push(next);
      }
    }
  }
  return sum;
  
}

int main() {
  cin >> n;
  for(ll i = 1; i <= n; i++) {
    ll k;
    cin >> k;
    for(ll j = 0; j < k; j++) {
      ll next;
      cin >> next;
      adj[next].push_back(i);
    }
  }
  
  ll mn = LLONG_MAX;
  for(ll i = 1; i <= n; i++) {
    mn = min(mn, bfs(i));
  }
  cout << mn << endl;
  
}

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

bosses.cpp: In function 'long long int bfs(long long int)':
bosses.cpp:19:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for(ll i = 0; i < adj[cur].size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...