新奇求最大公约数写法,蒟蒻求救,只A了一个点
查看原帖
新奇求最大公约数写法,蒟蒻求救,只A了一个点
524801
不食嗟来之食楼主2022/7/19 11:19

嘤嘤嘤,大佬们求调

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int maxx,gcd1,n,m,cnt,z,xl,yl,xf,yf;
struct peo{
	int x,y,sl; 
}a[800];
int gcd(int lx,int ly)
{
	if(ly==0) return lx;
	else return gcd(ly,lx%ly);
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		xf=0,yf=0;
		z=1;
		scanf("%d%d",&xl,&yl);
		if(xl<0)
		{
			xl=-xl;
			xf=1;
		}
		if(yl<0)
		{
			yl=-yl;
			yf=1;
		}
		gcd1=gcd(xl,yl);
		xl/=gcd1,yl/=gcd1;
		if(xf==1) xl=-xl;
		if(yf==1) yl=-yl;
		for(int j=1;j<=cnt;j++)
		{
			if(a[j].x==xl&&a[j].y==yl)
			{
				a[j].sl++;
				z=0;
			}
		}
		if(z==1)
		{
			a[++cnt].x=xl;
			a[cnt].y=yl;
			a[cnt].sl=1;
		}
	}
	for(int i=1;i<=cnt;i++)
	{
		if(a[i].sl>maxx)maxx=a[i].sl;
	}
	printf("%d",maxx);
	return 0;
}
2022/7/19 11:19
加载中...