Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. #include<map>
  4. using namespace std;
  5. int getindex(vector<int> &moka, int v){
  6. for(int i=0;i<moka.size();i++)
  7. if(moka[i] == v)
  8. return i;
  9. return -1;
  10. }
  11. int main(){
  12. int n =0;
  13. cin>>n;
  14. map<int, int> stds;
  15. map<int, int>::iterator it;
  16. vector<int> moka(n);
  17. for(int i=0;i<n;i++){
  18. moka[i] = -1;
  19. }
  20. int f, b;
  21. int f1, b1;
  22. int fn, bn;
  23. for(int i=0;i<n;i++){
  24. cin>>f>>b;
  25. if(f ==0 )
  26. {
  27. f1 = f;
  28. b1 = b;
  29. }
  30. if(b == 0)
  31. {
  32. fn = f;
  33. bn = b;
  34. }
  35. stds.insert(make_pair(f,b));
  36. }
  37. moka[1] = b1;
  38. moka[n-2] = fn;
  39. for(it = stds.begin();it!=stds.end();it++){
  40. if(it->first != 0 && it->second != 0){
  41. f = it->first;
  42. b = it->second;
  43. int ixF = getindex(moka,f);
  44. int ixB = getindex(moka,b);
  45. if(ixF != -1){
  46. if(ixF+2<n)
  47. moka[ixF +2] = b;
  48. }
  49. if(ixB != -1){
  50. if(ixB-2>=0)
  51. moka[ixB-2] = f;
  52. }
  53. }
  54. }
  55. for(int i=0;i<moka.size();i++){
  56. cout<<moka[i]<<" ";
  57. }
  58. cout<<endl;
  59. return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement