Advertisement
Guest User

Untitled

a guest
Dec 29th, 2019
2,913
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6. ios_base::sync_with_stdio(0);
  7. cin.tie(nullptr);
  8.  
  9. int n;
  10. cin>>n;
  11. vector<pair<int, int>> p(n);
  12. for (int i = 0; i<n; i++) {cin>>p[i].first>>p[i].second; p[i].first+=1e6; p[i].second+=1e6;}
  13.  
  14. while (true)
  15. {
  16. vector<vector<int>> cnt(2, vector<int>(2));
  17. for (int i = 0; i<n; i++) cnt[p[i].first%2][p[i].second%2]++;
  18. if (cnt[0][0]+cnt[1][1]>0 && cnt[0][1]+cnt[1][0]>0)
  19. {
  20. vector<int> A;
  21. for (int i = 0; i<n; i++) if ((p[i].first + p[i].second)%2==0) A.push_back(i);
  22. cout<<A.size()<<endl;
  23. for (auto it: A) cout<<it+1<<' ';
  24. return 0;
  25. }
  26. if (cnt[0][0]+cnt[0][1]>0 && cnt[1][1]+cnt[1][0]>0)
  27. {
  28. vector<int> A;
  29. for (int i = 0; i<n; i++) if (p[i].first%2==0) A.push_back(i);
  30. cout<<A.size()<<endl;
  31. for (auto it: A) cout<<it+1<<' ';
  32. return 0;
  33. }
  34. int x, y;
  35. for (int i = 0; i<2; i++)
  36. for (int j = 0; j<2; j++) if (cnt[i][j]>0) {x = i; y = j;}
  37.  
  38. for (int i = 0; i<n; i++) {p[i].first = (p[i].first - x)/2; p[i].second = (p[i].second - y)/2;}
  39. }
  40.  
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement