답안 #711636

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
711636 2023-03-17T10:14:46 Z willychan Slagalica (COCI19_slagalica2) C++14
70 / 70
40 ms 11744 KB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
//#include<bits/extc++.h>
//__gnu_pbds


vector<pair<int,int>> side[4];
	
int from[9] = {0,3,3,2,2,0,0,3,2};
int to[9] =   {0,2,3,2,3,2,3,1,1};
int deg[4];

stack<int> ans;

void dfs(int cur){
	while(side[cur].size()){
		int k = side[cur].back().first;
		int p = side[cur].back().second;
		side[cur].pop_back();
		dfs(p);
		ans.push(k);
	}
}


int main(){
	ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int n;cin>>n;	
	for(int i=0;i<n;i++){
		int t,a;cin>>t>>a;
		side[from[t]].push_back({a,to[t]});
		deg[from[t]]--;
		deg[to[t]]++;
	}
	if(deg[0]!=-1 || deg[1]!=1 || deg[2]!=0 || deg[3]!=0){
		cout<<-1<<"\n";
		return 0;
	}
	for(int i=0;i<4;i++) sort(side[i].begin(),side[i].end(),[](pair<int,int> &a,pair<int,int> &b){return a.first>b.first;});
	dfs(0);
	while(ans.size()){
		cout<<ans.top()<<" ";
		ans.pop();
	}
	cout<<"\n";
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 10324 KB Output is correct
2 Correct 22 ms 1148 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 10056 KB Output is correct
2 Correct 14 ms 1232 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 1232 KB Output is correct
2 Correct 32 ms 9940 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 1200 KB Output is correct
2 Correct 29 ms 9856 KB Output is correct
3 Correct 33 ms 9124 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 6672 KB Output is correct
2 Correct 14 ms 1248 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 35 ms 9940 KB Output is correct
2 Correct 15 ms 1304 KB Output is correct
3 Correct 33 ms 8888 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 1356 KB Output is correct
2 Correct 34 ms 10120 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 40 ms 11744 KB Output is correct
2 Correct 14 ms 1232 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 9748 KB Output is correct
2 Correct 13 ms 1232 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 38 ms 11632 KB Output is correct
2 Correct 15 ms 1252 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 9668 KB Output is correct
2 Correct 14 ms 1212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 9892 KB Output is correct
2 Correct 14 ms 1256 KB Output is correct