Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. #include <functional>
  2. #include <algorithm>
  3. #include <iostream>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <cassert>
  7. #include <sstream>
  8. #include <numeric>
  9. #include <string>
  10. #include <vector>
  11. #include <cstdio>
  12. #include <bitset>
  13. #include <cmath>
  14. #include <ctime>
  15. #include <queue>
  16. #include <stack>
  17. #include <map>
  18. #include <set>
  19.  
  20. using namespace std;
  21.  
  22. #define sz(a) (int)a.size()
  23. #define vi vector <int>
  24. #define pb push_back
  25. #define mp make_pair
  26. #define ll long long
  27. #define f first
  28. #define s second
  29. #define sc scanf
  30. #define pf printf
  31.  
  32. const int inf = (int)1e9;
  33. const int mod = inf + 7;
  34. const double eps = 1e-9;
  35. const double pi = acos(-1.0);
  36.  
  37.  
  38. // ЕХАЛА
  39.  
  40. int n, ans;
  41. map <pair< int, int >, bool> used;
  42. pair< int, int > a[22];
  43. bool line(int x, int y, int a, int b){
  44. return y * a == b * x && abs(a) * x == abs(x) * a && abs(y) * b == abs(b) * y;
  45. }
  46. int main(){
  47. cin >> n;
  48. for(int i = 0; i < n; ++i)
  49. cin >> a[i].f >> a[i].s;
  50. for(int i = 0; i < n; ++i){
  51. int x = a[i].f;
  52. int y = a[i].s;
  53. if(used[mp(x, y)] == true) continue;
  54. for(int j = 0; j < n; ++j){
  55. if(used[mp(a[j].f, a[j].s)] == false && line(a[i].f, a[i].s, a[j].f, a[j].s))
  56. used[mp(a[j].f, a[j].s)] = true;
  57. }
  58. ans++;
  59. }
  60. cout << ans << endl;
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement