Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #include <vector>
- #include <cstring>
- #include <cstdio>
- #include <set>
- #include <math.h>
- using namespace std;
- const int MaxN = 1005;
- int x[MaxN], y[MaxN];
- int main(){
- freopen("Ulaz.txt","r",stdin);
- freopen("Izlaz2.txt","w",stdout);
- int n, sol = 0;
- scanf("%d", &n );
- for(int i = 0; i < n; ++i )
- scanf("%d %d", &x[i], &y[i] );
- multiset <double> M;
- double koef_m = -1, koef_b = -1;
- for(int i = 0; i < n; ++i ){
- M.clear();
- for(int j = i+1; j < n; ++j ){
- if( y[i] == y[j] || x[i] == x[j] ) continue;
- double m = (double)(y[j]-y[i]) / (x[j]-x[i]);
- double b = (double)y[i] - m*x[i];
- M.insert(m);
- int P = M.count(m);
- if( P > sol ){
- koef_m = m, koef_b = b;
- sol = P;
- }
- else if( P == sol ){
- if( fabs(m) < fabs(koef_m) )
- koef_m = m, koef_b = b;
- else if( fabs(m)-fabs(koef_m) < 1e-16 )
- if( fabs(b) < fabs(koef_b) ) koef_m = m, koef_b = b;
- }
- }
- }
- printf("%.3lf %.3lf\n", koef_m, koef_b );
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement