| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 486624 | my04 | Shymbulak (IZhO14_shymbulak) | C++17 | 2 ms | 460 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define sz(x) (int)(x).size()
#define S second
#define F first
#define all(x) (x).begin(), (x).end()
using namespace std;
using ll = long long;
void setIO(string name = "") {
	ios_base::sync_with_stdio(NULL);
	cin.tie(NULL);
	cout.tie(NULL);
	if (sz(name)) {
		freopen((name + ".in").c_str(), "r", stdin);
		freopen((name + ".out").c_str(), "w", stdout);
	}
}
const int inf = 1e9;
const ll INF = 1e18;            
const int mod = 1e9 + 7;
const int MAXN = 1e6 + 5;
#define int ll
int n;
vector<int> g[5005];
int dist[5005][5005];
int cnt[5005][5005];
void solve() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			dist[i][j] = inf;
		}
	}
	for (int i = 1; i <= n; i++) {
		dist[i][i] = 0;
	}
	for (int i = 1; i <= n; i++) {
		int a, b;
		cin >> a >> b;
		g[a].pb(b);
		g[b].pb(a);
	
		dist[a][b] = dist[b][a] = 1;
		cnt[a][b]++;
		cnt[b][a]++;
	}
	
	for (int i = 1; i <= n; i++) {
	 	for (int j = 1; j <= n; j++) {
	 		if (i == j) continue;
	 	    for (int k = 1; k <= n; k++) {
	 	    	if (i == k || j == k) continue;
				int val = dist[i][k] + dist[j][k];
	 	    	if (val == dist[i][j]) cnt[i][j] += (cnt[i][k] * cnt[k][j]);
	 	    	else if (val < dist[i][j]) {
	 	    		dist[i][j] = val;
	 	    		cnt[i][j] = cnt[i][k] * cnt[k][j];
	 	    	}
	 	    }
	 	}
	}
	int mx = -inf;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			mx = max(mx, dist[i][j]);
		}
	}
	int res = 0;
	for (int i = 1; i <= n; i++) {
		for (int j = i + 1; j <= n; j++) {
			if (dist[i][j] == mx) res += cnt[i][j];
		}
	}
	cout << res;
}                   	
main() {
	setIO("shymbulak");
	
	int tt = 1;
	// cin >> tt;
	while (tt--) {
		solve();
	}
	
	return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
