답안 #646939

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
646939 2022-10-01T07:58:53 Z ksu2009en Paths (RMI21_paths) C++17
0 / 100
600 ms 12100 KB
#pragma GCC optimize("O3")

#include <iostream>
#include <vector>
#include <string>
#include <math.h>
#include <cmath>
#include <iomanip>
#include <cstdio>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <deque>
#include <bitset>
#include <cstring>
#include <unordered_map>

#define endl '\n'

using namespace std;
typedef int ll;

vector<vector<pair<ll, ll>>>d, d2;

ll mx = -1, pos = 0;

void dfs(ll v, ll par, ll cost){
    if(cost > mx){
        mx = cost;
        pos = v;
    }
    
    for(auto i: d2[v]){
        if(i.first != par){
            dfs(i.first, v, cost + i.second);
        }
    }
}

bool dfs_2(ll v, ll par){
    if(v == pos)
        return true;
    
    for(auto &i: d2[v]){
        if(i.first == par)
            continue;
        
        if(dfs_2(i.first, v)){
            i.second = 0;
            return true;
        }
    }
    return false;
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    ll n, k;
    cin >> n >> k;
    
    d.resize(n + 1);
    
    for(int i = 0; i < n - 1; i++){
        ll x, y, c;
        cin >> x >> y >> c;
        
        d[x].push_back({y, c});
        d[y].push_back({x, c});
    }
    
    for(int root = 1; root <= n; root++){
        d2 = d;
        ll ans = 0;
        
        for(int step = 1; step <= k; step++){
            mx = -1, pos = 0;
            
            dfs(root, -1, 0);
            bool no_need = dfs_2(root, -1);
            
            ans += mx;
        }
        cout << ans << endl;
    }
     
    return 0;
}

Compilation message

Main.cpp: In function 'int main()':
Main.cpp:83:18: warning: unused variable 'no_need' [-Wunused-variable]
   83 |             bool no_need = dfs_2(root, -1);
      |                  ^~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1085 ms 12100 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -