#include <bits/stdc++.h>
using namespace std;
int main() {
int N,sum[1010],cnt=0;
cin >> N;
int a[1010][3];
for (int i=1; i<=N; i++) {
cin >> a[i][0] >> a[i][1] >> a[i][2];
sum[i]=a[i][0]+a[i][1]+a[i][2];
}
for (int i=1; i<=N; i++) {
for (int j=i+1; j<=N; j++) {
if (abs(a[i][0] - a[j][0]) <= 5)
if ((abs(a[i][1] - a[j][1]) <= 5))
if ((abs(a[i][2] - a[j][2]) <= 5))
if ((abs(sum[i] - sum[j]) <= 10))
cnt++;
}
}
cout << cnt;
return 0;
}
和另一段代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int N,sum=0;
cin >> N;
int a[1010][4];
for (int i=1;i<=N;i++)
{
for (int j=0;j<3;j++)
{
cin >> a[i][j];
a[i][3]+=a[i][j];
}
}
for (int i=1;i<=N;i++)
{
for (int j=i+1;j<=N;j++)
{
if (abs(a[i][0]-a[j][0])<=5)
if ((abs(a[i][1]-a[j][1])<=5))
if ((abs(a[i][2]-a[j][2])<=5))
if ((abs(a[i][3]-a[j][3])<=10))
sum++;
}
}
cout << sum;
return 0;
}
在最后一个测试点中,前者的结果为170而后者的结果为125。我感觉上觉得两段代码功能一样,为什么结果不同?