Submission #253211

#TimeUsernameProblemLanguageResultExecution timeMemory
253211nandonathanielHotspot (NOI17_hotspot)C++14
100 / 100
1426 ms154944 KiB
#include<bits/stdc++.h> using namespace std; const int INF=1e9; vector<int> adj[5005]; int dist[5005][5005],cara[5005][5005],ret[5005]; double byk[5005]; bool flag[5005]; int a[2005],b[2005]; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N,M,u,v,K; cin >> N >> M; for(int i=1;i<=M;i++){ cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); } for(int i=0;i<N;i++){ memset(flag,false,sizeof(flag)); for(int j=0;j<N;j++){ dist[i][j]=INF; } cara[i][i]=1; dist[i][i]=0; queue<int> Q; Q.push(i); while(!Q.empty()){ int s=Q.front(); Q.pop(); for(int j=0;j<adj[s].size();j++){ int t=adj[s][j]; if(!flag[t]){ if(dist[i][t]>dist[i][s]+1){ dist[i][t]=dist[i][s]+1; cara[i][t]+=cara[i][s]; flag[t]=true; Q.push(t); } } else{ if(dist[i][s]+1==dist[i][t]){ cara[i][t]+=cara[i][s]; } } } } } cin >> K; for(int i=1;i<=K;i++){ cin >> a[i] >> b[i]; memset(ret,0,sizeof(ret)); for(int j=0;j<N;j++){ if(dist[a[i]][j]+dist[j][b[i]]==dist[a[i]][b[i]]){ ret[j]=(cara[a[i]][j]*cara[j][b[i]]); byk[j]+=(double)ret[j]/cara[a[i]][b[i]]; } } } double maxi=-1.0; int ans; for(int i=0;i<N;i++){ if(byk[i]>maxi){ maxi=byk[i]; ans=i; } } cout << ans << endl; return 0; }

Compilation message (stderr)

hotspot.cpp: In function 'int main()':
hotspot.cpp:33:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int j=0;j<adj[s].size();j++){
                ~^~~~~~~~~~~~~~
hotspot.cpp:70:10: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
  cout << ans << endl;
          ^~~
#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...