제출 #101074

#제출 시각아이디문제언어결과실행 시간메모리
101074TAISA_항공 노선도 (JOI18_airline)C++14
0 / 100
693 ms30880 KiB
#include <bits/stdc++.h> #include "Alicelib.h" #define all(vec) vec.begin(),vec.end() using namespace std; using ll=long long; using P=pair<int,int>; const ll MOD=1000000007LL; const ll INF=(1<<30); const ll LINF=(1LL<<60); template<typename T> void chmax(T &a,T b){a=max(a,b);} template<typename T> void chmin(T &a,T b){a=min(a,b);} void Alice(int N,int M,int A[],int B[]){ int n=N+12,m=M; vector<P> v; for(int i=0;i<N;i++){ for(int j=0;j<10;j++){ if((i>>j)&1){ v.emplace_back(i,N+j); } } v.emplace_back(i,N+10); } for(int i=0;i<10;i++){ v.emplace_back(N+i,N+10); v.emplace_back(N+i,N+11); if(i<9)v.emplace_back(N+i,N+i+1); } m+=v.size(); InitG(n,m); for(int i=0;i<M;i++){ MakeG(i,A[i],B[i]); } int c=M; for(auto p:v){ MakeG(c,p.first,p.second); c++; } }
#include<bits/stdc++.h> #include "Boblib.h" #define all(vec) vec.begin(),vec.end() using namespace std; using ll=long long; using P=pair<int,int>; const ll MOD=1000000007LL; const ll INF=(1<<30); const ll LINF=(1LL<<60); template<typename T> void chmax(T &a,T b){a=max(a,b);} template<typename T> void chmin(T &a,T b){a=min(a,b);} void Bob(int V,int U,int C[],int D[]){ int n=V,m=U; vector<vector<int>> G(n); for(int i=0;i<m;i++){ G[C[i]].push_back(D[i]); G[D[i]].push_back(C[i]); } int a,b; for(int i=0;i<n;i++){ if(G[i].size()==n-2){ a=i; break; } } vector<int> vis(n),idx(n); for(auto e:G[a])vis[e]=1; vis[a]=1; for(int i=0;i<n;i++){ if(vis[i]==0){ b=i; break; } } vis.assign(n,0); vector<int> vv,vis2(n),to(n,-1); for(auto e:G[b]){ vv.push_back(e); vis[e]=1; } vis[a]=1,vis[b]=1; int st; for(int i=0;i<10;i++){ int co=0; for(auto e:G[vv[i]]){ if(vis[e]){ co++; if(e!=a&&e!=b)to[vv[i]]=e; } } if(co==3&&G[vv[i]].size()==n/2+3){ st=i; } } int cc=0; while(to[st]!=-1){ for(auto e:G[st]){ idx[e]|=(1<<cc); } cc++; st=to[st]; } vector<P> v; for(int i=0;i<n;i++){ if(vis[i])continue; for(auto e:G[i]){ if(vis[e])continue; v.emplace_back(idx[i],idx[e]); } vis[i]=1; } InitMap(n-12,v.size()); for(auto p:v){ MakeMap(p.first,p.second); } }

컴파일 시 표준 에러 (stderr) 메시지

Bob.cpp: In function 'void Bob(int, int, int*, int*)':
Bob.cpp:21:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(G[i].size()==n-2){
      ~~~~~~~~~~~^~~~~
Bob.cpp:51:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(co==3&&G[vv[i]].size()==n/2+3){
             ~~~~~~~~~~~~~~~^~~~~~~
Bob.cpp:48:9: warning: 'a' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if(e!=a&&e!=b)to[vv[i]]=e;
        ~^~~
Bob.cpp:56:13: warning: 'st' may be used uninitialized in this function [-Wmaybe-uninitialized]
  while(to[st]!=-1){
             ^
Bob.cpp:48:15: warning: 'b' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if(e!=a&&e!=b)to[vv[i]]=e;
              ~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...