Advertisement
a53

minge

a53
May 18th, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4. ifstream cin("minge.in");
  5. ofstream cout("minge.out");
  6. int p,n,k,f[10001];
  7. typedef struct
  8. {
  9. int x,y;
  10. } minge;
  11. minge a[10001];
  12. int main()
  13. {
  14. cin>>p;
  15. cin>>n>>k;
  16. for(int i=1;i<=k;i++) // Citim datele
  17. {
  18. cin>>a[i].x>>a[i].y;
  19. f[a[i].x]++; // Actualizam vectorul de frecventa
  20. f[a[i].y]++;
  21. }
  22. int nr=0;
  23. if(p==1) // Rezolvam prima cerinta
  24. {
  25. for(int i=1;i<=n;i++)
  26. if(f[i]==0) // Verificam care copii n-au atins mingea
  27. nr++;
  28. cout<<nr;
  29. }
  30. else // Rezolvam a doua cerinta
  31. {
  32. for(int i=1;i<=k;i++)
  33. if(f[a[i].x]==1) // Verificam care copil a aruncat mingea dar n-a si primit-o
  34. {
  35. cout<<a[i].x<<' '; // Il afisam
  36. nr=i; // Il retinem
  37. break;
  38. }
  39. nr=a[nr].y; // Retinem copilul care a primit mingea si
  40. cout<<nr<<' '; // il afisam
  41. for(int i=2;i<=k;i++) // Parcurgem sirul celor care primesc mingea
  42. {
  43. for(int j=1;j<=k;j++) // Parcurgem sirul celor care arunca mingea
  44. if(a[j].x==nr) // Verificam care copil a primit mingea si urmeaza s-o arunce
  45. {
  46. nr=j; // il retinem
  47. break;
  48. }
  49. nr=a[nr].y;
  50. cout<<nr<<' ';
  51. }
  52. }
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement