精度问题,求助
查看原帖
精度问题,求助
637788
kimi0705楼主2023/3/20 21:54
#include <map>
#include <cmath>
#include <math.h>
#include <vector>
#include <cstdio>
#include <string>
#include <time.h>
#include <climits>
#include <cstring>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
#define int long long
#define db double
#define fz0(i, x) for (int i = 0; i < x; i++)
#define ff0(i, x) for (int i = x - 1; i >= 0; i--)
#define fz1(i, x) for (int i = 1; i <= x; i++)
#define ff1(i, x) for (int i = x; i >= 1; i--)
using namespace std;
const int N = 2e5 + 10;
void debug(int a[], int fir, int end)
{
  for (int i = fir; i <= end; i++)
    cout << a[i] << ' ';
  cout << endl;
}
// Array and Function
int n, ans, cnt_ans, cnt;
int a[N], b[N];
vector<long double> d;
void input()
{
  cin >> n;
  fz1(i, n) cin >> a[i];
  fz1(i, n) cin >> b[i];
  return;
}
void work()
{
  fz1(i, n)
  {
    if (a[i] != 0)
      d.push_back(b[i] * 1.0 / a[i]);
    if(a[i] == 0 && b[i] == 0)
      cnt_ans++;
  }
  if (!d.size())
    return;
  sort(d.begin(), d.end());
  cnt = 1, ans = 1;
  fz1(i, d.size() - 1)
  {
    if (d[i] != d[i - 1])
      cnt = 0;
    ans = max(ans, ++cnt);
  }
  return;
}
void output()
{
  cout << ans + cnt_ans << endl;
}
signed main()
{
  input();
  work();
  output();
  //system("pause");
  return 0;
}
2023/3/20 21:54
加载中...