由于浮点数精度有限会出现误差,本题应采用最简分数记录
#include<iostream>
#include<map>
#include<cmath>
#include<algorithm>
using namespace std;
//辗转相除法求最大公因数
int f(int x, int y) {
return y ? f(y, x % y) : x;
}
const int maxn = 2e5 + 5;
int a[maxn], b[maxn];
map<pair<int, int>, int> mp;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < n; ++i) {
cin >> b[i];
}
int t = 0;
for (int i = 0; i < n; ++i) {
//三个特例单独算
if (a[i] == 0 && b[i] != 0) {
continue;
}
else if (a[i] == 0 && b[i] == 0) {
t++;