Guest User

Untitled

a guest
Jun 24th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. const int roz=10000;
  8. int rozUzytkow;
  9. int pl,pp; //przedzial lewy, przedzial prawy
  10. int tabKol[roz];
  11.  
  12. class Wieza{
  13. public:
  14. int lewyPrzed;
  15. int prawyPrzed;
  16. int wieza;
  17. int pozycja;
  18.  
  19. };
  20.  
  21. Wieza *szachownica;
  22.  
  23. bool myfunction(Wieza a,Wieza b)
  24. {
  25. if(a.prawyPrzed!=b.prawyPrzed)
  26. return (a.prawyPrzed<b.prawyPrzed);
  27. return (a.lewyPrzed<b.lewyPrzed);
  28.  
  29. }
  30.  
  31. bool myfunction2(Wieza a,Wieza b)
  32. {
  33. return (a.pozycja<b.pozycja);
  34. }
  35.  
  36. void ustawWieze(){
  37.  
  38. for(int i=0;i<rozUzytkow;++i)
  39. {
  40. for(int k = szachownica[i].lewyPrzed;k<=szachownica[i].prawyPrzed;++k)
  41. {
  42. if(tabKol[k]==-1)
  43. {
  44.  
  45. tabKol[k]=1;
  46. szachownica[i].wieza=k;
  47.  
  48. break;
  49.  
  50. }
  51. else if(k==szachownica[i].prawyPrzed)
  52. {
  53. cout<<"NIE"<<endl;
  54. exit(0);
  55. }
  56.  
  57.  
  58. }
  59. }
  60.  
  61. }
  62.  
  63.  
  64. int main()
  65. {
  66.  
  67. cin>>rozUzytkow;
  68.  
  69. if(rozUzytkow > 10000)
  70. {
  71. return 0;
  72. }
  73.  
  74. szachownica=new Wieza[rozUzytkow];
  75.  
  76. for(int i=0;i<rozUzytkow;++i)
  77. {
  78. szachownica[i].pozycja=i;
  79.  
  80. tabKol[i]=-1;
  81. }
  82.  
  83. for(int j=0;j<rozUzytkow;++j)
  84. {
  85. cin>>pl>>pp;
  86. szachownica[j].lewyPrzed=pl;
  87. szachownica[j].prawyPrzed=pp;
  88. }
  89. sort(szachownica,szachownica+rozUzytkow,myfunction);
  90.  
  91. ustawWieze();
  92.  
  93. sort(szachownica,szachownica+rozUzytkow,myfunction2);
  94.  
  95. for(int t=0;t<rozUzytkow;++t){
  96. cout<<szachownica[t].wieza<<endl;
  97. }
  98.  
  99.  
  100. return 0;
  101. }
Add Comment
Please, Sign In to add comment