답안 #101074

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
101074 2019-03-16T11:23:13 Z TAISA_ 항공 노선도 (JOI18_airline) C++14
0 / 100
693 ms 30880 KB
#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);
	}
}

Compilation message

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;
              ~^~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 11 ms 6656 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 11 ms 6656 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 693 ms 30880 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -