Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<map>
- using namespace std;
- int getindex(vector<int> &moka, int v){
- for(int i=0;i<moka.size();i++)
- if(moka[i] == v)
- return i;
- return -1;
- }
- int main(){
- int n =0;
- cin>>n;
- map<int, int> stds;
- map<int, int>::iterator it;
- vector<int> moka(n);
- for(int i=0;i<n;i++){
- moka[i] = -1;
- }
- int f, b;
- int f1, b1;
- int fn, bn;
- for(int i=0;i<n;i++){
- cin>>f>>b;
- if(f ==0 )
- {
- f1 = f;
- b1 = b;
- }
- if(b == 0)
- {
- fn = f;
- bn = b;
- }
- stds.insert(make_pair(f,b));
- }
- moka[1] = b1;
- moka[n-2] = fn;
- for(it = stds.begin();it!=stds.end();it++){
- if(it->first != 0 && it->second != 0){
- f = it->first;
- b = it->second;
- int ixF = getindex(moka,f);
- int ixB = getindex(moka,b);
- if(ixF != -1){
- if(ixF+2<n)
- moka[ixF +2] = b;
- }
- if(ixB != -1){
- if(ixB-2>=0)
- moka[ixB-2] = f;
- }
- }
- }
- for(int i=0;i<moka.size();i++){
- cout<<moka[i]<<" ";
- }
- cout<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement