一个问题
查看原帖
一个问题
1345652
Luliuyan114514楼主2024/9/30 22:20

在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;
}
2024/9/30 22:20
加载中...