Submission #486619

#TimeUsernameProblemLanguageResultExecution timeMemory
486619my04Shymbulak (IZhO14_shymbulak)C++17
0 / 100
4 ms460 KiB
#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 = 1; j <= n; j++) { if (dist[i][j] == mx) res += cnt[i][j]; } } cout << (res >> 1ll); } main() { setIO("shymbulak"); int tt = 1; // cin >> tt; while (tt--) { solve(); } return 0; }

Compilation message (stderr)

shymbulak.cpp:95:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   95 | main() {
      | ^~~~
shymbulak.cpp: In function 'void setIO(std::string)':
shymbulak.cpp:19:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |   freopen((name + ".in").c_str(), "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shymbulak.cpp:20:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |   freopen((name + ".out").c_str(), "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...