Submission #52403

#TimeUsernameProblemLanguageResultExecution timeMemory
52403TadijaSebezBosses (BOI16_bosses)C++11
100 / 100
811 ms1408 KiB
#include <stdio.h> #include <vector> #include <queue> using namespace std; const int N=5050; const int inf=1e9+7; vector<int> E[N]; int dep[N],ans=inf; int min(int a, int b){ return a>b?b:a;} queue<int> q; void BFS(int u, int n) { int i; for(i=1;i<=n;i++) dep[i]=inf; q.push(u); dep[u]=1; int sol=0; while(q.size()) { int x=q.front(); q.pop(); sol+=dep[x]; for(i=0;i<E[x].size();i++) { int y=E[x][i]; if(dep[y]>dep[x]+1) { dep[y]=dep[x]+1; q.push(y); } } } for(i=1;i<=n;i++) if(dep[i]==inf) return; ans=min(ans,sol); } int main() { int n,i,sz,x; scanf("%i",&n); for(i=1;i<=n;i++) { scanf("%i",&sz); while(sz--) scanf("%i",&x),E[x].push_back(i); } for(i=1;i<=n;i++) BFS(i,n); printf("%i\n",ans); return 0; }

Compilation message (stderr)

bosses.cpp: In function 'void BFS(int, int)':
bosses.cpp:23:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(i=0;i<E[x].size();i++)
           ~^~~~~~~~~~~~
bosses.cpp: In function 'int main()':
bosses.cpp:39:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i",&n);
  ~~~~~^~~~~~~~~
bosses.cpp:42:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%i",&sz);
   ~~~~~^~~~~~~~~~
bosses.cpp:43:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   while(sz--) scanf("%i",&x),E[x].push_back(i);
               ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...