Submission #1225895

#TimeUsernameProblemLanguageResultExecution timeMemory
1225895paskalisapoSwapping Cities (APIO20_swap)C++20
6 / 100
89 ms16184 KiB
#include "swap.h"
using namespace std;
#include <vector>
#include<bits/stdc++.h>

int citiesnum , roadnum;
vector<vector<pair<int,int>>> adj;
vector<bool> visited;
bool circle = false;
int maxweight = 0;
void dfs(int cur, int par) {
    for(auto &x : adj[cur]) {
        if(x.first == par) {
            continue;
        }
        if(visited[x.first]) {
            circle = true;
            continue;
        }
        visited[x.first] = true;
        dfs(x.first, cur); 
    }
}
void init(int N, int M,
    std::vector<int> U, std::vector<int> V, std::vector<int> W) {
    citiesnum = N;
    roadnum = M;
    adj.resize(N);
    visited.resize(N);
    for(int i = 0 ;i < M; i++) {
        adj[U[i]].push_back({V[i], W[i]});
        adj[V[i]].push_back({U[i], W[i]});
        maxweight = max(maxweight, W[i]);
    }
    dfs(0 , -1);
}

int getMinimumFuelCapacity(int X, int Y) {
    if(circle) {
        return maxweight;
    }
    return -1;
}
#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...