Submission #141740

#TimeUsernameProblemLanguageResultExecution timeMemory
141740adminAdriatic (CEOI13_adriatic)C++14
0 / 100
2068 ms197624 KiB
#include<cstdio> #include<cstring> #include<algorithm> #include<utility> #include<cassert> #include<vector> #include<queue> #define pb push_back using namespace std; typedef pair<int,int> ii; typedef vector<int>vi; int N,X,Y; ii loc[25005]; vi al[25005]; int apsp[5005][5005]; int main(){ scanf("%d",&N); for(int i=0;i<N;i++){ scanf("%d%d",&X,&Y); loc[i]=ii(X,Y); } for(int i=0;i<N;i++){ int x1=loc[i].first,y1=loc[i].second; for(int j=i+1;j<N;j++){ int x2=loc[j].first,y2=loc[j].second; if((x1<x2&&y1<y2)||(x1>x2&&y1>y2)){ al[i].pb(j);al[j].pb(i); } } } for(int i=0;i<N;i++){ queue<int>q;q.push(i); assert(al[i].size() == N-1); bool vis[25005]={false}; vis[i]=true; apsp[i][i]=0; while(!q.empty()){ int pp=q.front();q.pop(); int st=apsp[i][pp]; for(auto&p2:al[pp]){ if(!vis[p2]){ vis[p2]=true; apsp[i][p2]=st+1; q.push(p2); } } } } for(int i=0;i<N;i++){ int ans=0; for(int j=0;j<N;j++){ ans+=apsp[j][i]; } printf("%d\n",ans); } return 0; }

Compilation message (stderr)

In file included from /usr/include/c++/7/cassert:44:0,
                 from adriatic.cpp:5:
adriatic.cpp: In function 'int main()':
adriatic.cpp:35:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       assert(al[i].size() == N-1);
              ~~~~~~~~~~~~~^~~~~~
adriatic.cpp:19:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&N);
     ~~~~~^~~~~~~~~
adriatic.cpp:21:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&X,&Y);
         ~~~~~^~~~~~~~~~~~~~
#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...