Submission #37802

#TimeUsernameProblemLanguageResultExecution timeMemory
37802mirbek01Shymbulak (IZhO14_shymbulak)C++14
50 / 100
949 ms200872 KiB
# include <bits/stdc++.h> # define pb push_back # define fr first # define sc second # define mk make_pair using namespace std; const int inf = 1e9 + 7; const int N = 5e3 + 5; typedef long long ll; int n, m, ans, mx, dist[N][N], cnt[N][N]; vector <int> g[N]; void bfs(int x) { queue <int> q; q.push(x); cnt[x][x] = 1; // cout << x << endl; while(!q.empty()) { int v = q.front(); q.pop(); for(int i = 0; i < g[v].size(); i ++) { int to = g[v][i]; if(dist[x][to] == dist[x][v] + 1 || dist[x][to] == 0) cnt[x][to] += cnt[x][v]; if(!dist[x][to] && to != x) { dist[x][to] = dist[x][v] + 1; q.push(to); } } } // for(int i = 1; i <= n; i ++) // cout << dist[x][i] << " "; // cout << endl; // for(int i = 1; i <= n; i ++) // cout << cnt[x][i] << " "; // cout << endl; } int main() { cin >> n; for(int i = 1; i <= n; i ++) { int x, y; cin >> x >> y; g[x].pb(y); g[y].pb(x); } for(int i = 1; i <= n; i ++) bfs(i); for(int i = 1; i <= n; i ++) for(int j = i + 1; j <= n; j ++) mx = max(mx, dist[i][j]); // for(int i = 1; i <= n; i ++) // { // for(int j = i + 1; j <= n; j ++) // { // cout << i << " " << j << " " << dist[i][j] << " " << cnt[i][j] << endl; // } // } for(int i = 1; i <= n; i ++) for(int j = i + 1; j <= n; j ++) if(mx == dist[i][j]) ans += cnt[i][j]; cout << ans << endl; }

Compilation message (stderr)

shymbulak.cpp: In function 'void bfs(int)':
shymbulak.cpp:29:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int i = 0; i < g[v].size(); i ++)
                              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...