#include <bits/stdc++.h>
using namespace std;
int n, X1, Y1, X2, Y2, x[55], y[55], r[55];
int dis(int x1, int y1, int x2, int y2)
{
return abs(x1 - x2) + abs(y1 - y2);
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x[i];
}
for (int i = 1; i <= n; i++)
{
cin >> y[i];
}
for (int i = 1; i <= n; i++)
{
cin >> r[i];
}
cin >> X1 >> Y1 >> X2 >> Y2;
int cnt = 0;
for (int i = 1; i <= n; i++)
{
if (((dis(X1, Y1, x[i], y[i]) < r[i]) + (dis(X2, Y2, x[i], y[i]) < r[i])) % 2)
{
cnt++;
}
}
cout << cnt << endl;
return 0;
}
我自己算了下#1,但是答案和程序一样,我是不是思路出错了?