在visual上测试的结果和在洛谷IDE上测试的结果不同,这是怎么回事?!
#include<iostream>
#include<map>
using namespace std;
struct trig{
int a,b,c;
trig(int x,int y,int z){a=x;b=y;c=z;}
trig(){a=b=c=0;}
bool operator==(const trig y)const
{
return a==y.a&&b==y.b&&c==y.c;
}
bool operator<(const trig y)const
{
return !(*this==y);
}
};
int gcd(int x,int y)
{
if(y==0)
{
return x;
}
return gcd(y,x%y);
}
map<trig,int> mp;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;++i)
{
int _a,_b,_c;
cin>>_a>>_b>>_c;
int t=gcd(_a,gcd(_b,_c));
_a/=t;
_b/=t;
_c/=t;
mp[trig(_a,_b,_c)]++;
}
long long ans=0;
for(auto i:mp)
{
trig t=i.first;
cout<<t.a<<' '<<t.b<<' '<<t.c<<" count:"<<i.second<<endl;
long long l=i.second;
ans+=l*(l-1)/2;
}
cout<<ans<<endl;
return 0;
}