Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <functional>
- #include <algorithm>
- #include <iostream>
- #include <cstring>
- #include <cstdlib>
- #include <cassert>
- #include <sstream>
- #include <numeric>
- #include <string>
- #include <vector>
- #include <cstdio>
- #include <bitset>
- #include <cmath>
- #include <ctime>
- #include <queue>
- #include <stack>
- #include <map>
- #include <set>
- using namespace std;
- #define sz(a) (int)a.size()
- #define vi vector <int>
- #define pb push_back
- #define mp make_pair
- #define ll long long
- #define f first
- #define s second
- #define sc scanf
- #define pf printf
- const int inf = (int)1e9;
- const int mod = inf + 7;
- const double eps = 1e-9;
- const double pi = acos(-1.0);
- // ЕХАЛА
- int n, ans;
- map <pair< int, int >, bool> used;
- pair< int, int > a[22];
- bool line(int x, int y, int a, int b){
- return y * a == b * x && abs(a) * x == abs(x) * a && abs(y) * b == abs(b) * y;
- }
- int main(){
- cin >> n;
- for(int i = 0; i < n; ++i)
- cin >> a[i].f >> a[i].s;
- for(int i = 0; i < n; ++i){
- int x = a[i].f;
- int y = a[i].s;
- if(used[mp(x, y)] == true) continue;
- for(int j = 0; j < n; ++j){
- if(used[mp(a[j].f, a[j].s)] == false && line(a[i].f, a[i].s, a[j].f, a[j].s))
- used[mp(a[j].f, a[j].s)] = true;
- }
- ans++;
- }
- cout << ans << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement