2711 2023. 01. 19 10:29:11 kohumark Villanyautó cpp11 Időlimit túllépés 0/60 1.08s 7868 KiB
#include <iostream>
#include <vector>
#include <climits>
using namespace std;

//vector<vector<pair<int,int>>> put;
int accu=0;
int put[100][100];

void ut(vector<vector<pair<int,int>>> utak, int act, int b, int cost, int& val, vector<bool> visited){
	if(visited[act]==false){
		visited[act]=true;
		if(act==b&&cost<val) val=cost;
		else{
			for(auto uti : utak[act]) ut(utak, uti.first, b, cost+uti.second, val, visited);
		} 
	}
}

void keres(int n, int act, int b, int k, int len, int mx, int& x, vector<bool> visited){
	if(len <= k){
		if(act==b){
			x=min(mx,x);
			//cout << x << ' ' << b << '\n';
		}
		else{
			for(int i=0; i<n; i++) if(visited[i]==false) keres(n, i, b, k, len+1, max(mx,put[act][i]), x, visited);
		}
	}
}

int main(){
	int n, m, k; cin >> n >> m >> k;
	vector<vector<pair<int,int>>> utak; utak.assign(n,vector<pair<int,int>>());
	for(int i=0; i<m; i++){
		int a, b, c; cin >> a >> b >> c; a--; b--;
		utak[a].push_back(make_pair(b,c));
		utak[b].push_back(make_pair(a,c));
	}
	//put.assign(n,vector<pair<int,int>>());
	
	vector<bool> visited; visited.assign(n,false);
	//int put[n][n];
	for(int i=0; i<n; i++) for(int j=0; j<n; j++) put[i][j]=INT_MAX;
	
	for(int i=0; i<n; i++) for(int j=i; j<n; j++){
		ut(utak, i, j, 0, put[i][j], visited);
		put[j][i]=put[i][j];
		//cout << put[i][j] << ' ' << i << ' ' << j << '\n';
	}
	
	for(int i=0; i<n; i++) for(int j=i; j<n; j++){
		int x=INT_MAX;
		keres(n,i,j,k,0,0,x,visited);
		accu = max(accu,x);
	}
	
	cout << accu;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 0/60
1 Elfogadva 0/0 3ms 1688 KiB
2 Időlimit túllépés 0/0 1.072s 2472 KiB
3 Időlimit túllépés 0/1 1.069s 1708 KiB
4 Időlimit túllépés 0/1 1.052s 2300 KiB
5 Időlimit túllépés 0/1 1.052s 2752 KiB
6 Időlimit túllépés 0/2 1.06s 2672 KiB
7 Időlimit túllépés 0/2 1.07s 5016 KiB
8 Időlimit túllépés 0/2 1.054s 7748 KiB
9 Időlimit túllépés 0/1 1.052s 2636 KiB
10 Időlimit túllépés 0/1 1.065s 2684 KiB
11 Időlimit túllépés 0/1 1.07s 2868 KiB
12 Időlimit túllépés 0/2 1.049s 3168 KiB
13 Időlimit túllépés 0/2 1.049s 3228 KiB
14 Időlimit túllépés 0/2 1.06s 3352 KiB
15 Időlimit túllépés 0/3 1.052s 3472 KiB
16 Időlimit túllépés 0/3 1.074s 4088 KiB
17 Időlimit túllépés 0/2 1.07s 3264 KiB
18 Időlimit túllépés 0/2 1.009s 4172 KiB
19 Időlimit túllépés 0/2 1.037s 4076 KiB
20 Időlimit túllépés 0/2 1.072s 4552 KiB
21 Időlimit túllépés 0/2 1.065s 3908 KiB
22 Időlimit túllépés 0/2 1.08s 3664 KiB
23 Időlimit túllépés 0/3 1.065s 3916 KiB
24 Időlimit túllépés 0/3 1.057s 5756 KiB
25 Időlimit túllépés 0/3 1.07s 6144 KiB
26 Időlimit túllépés 0/3 1.065s 7868 KiB
27 Időlimit túllépés 0/3 1.046s 5116 KiB
28 Időlimit túllépés 0/3 1.057s 4348 KiB
29 Időlimit túllépés 0/3 1.07s 4444 KiB
30 Időlimit túllépés 0/3 1.072s 4584 KiB