记录编号 80321 评测结果 AAAAAAAAAA
题目名称 横幅 最终得分 100
用户昵称 GravatarLauncher 是否通过 通过
代码语言 C++ 运行时间 0.104 s
提交时间 2013-11-07 07:34:22 内存使用 8.12 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,m;
int a[1002][1002]={0};
int f[100002][3]={0};
int r[5][3]={0};
long long ans=0;
int abss(int x)
{
	if (x<0) 
		return -x;
	else 
		return x;
}
int gcd(int x,int y)
{
	int t;
	if (y==0)
		return x;
	else 
		return gcd(y,x%y);
}
int check(int x1,int y1,int x2,int y2)
{
	int xx,yy,q;
	if ((x1>=0)&&(y1>=0)&&(x1<=n)&&(y1<=m))
	{
		xx=abss(x2-x1);
		yy=abss(y2-y1);


		if (xx<yy)
			q=gcd(yy,xx);
		else
			q=gcd(xx,yy);
		if (q==1)
		{
			ans++;
			cout<<x1<<' '<<y1<<' '<<x2<<' '<<y2<<endl;
		}

	}
	
	
}
int main()
{
	freopen("banner.in","r",stdin);
	freopen("banner.out","w",stdout);
	int i,j,k,x,y,t,l;
	cin>>n>>m>>x>>y;
	r[1][1]=1; r[1][2]=1;
	r[2][1]=-1;r[2][2]=1;
	r[3][1]=1;r[3][2]=-1;
	r[4][1]=-1;r[4][2]=-1;
	t=0;
	for (i=1;i<=n+1;i++)
		for (j=1;j<=m+1;j++)
		{
			if (gcd(i,j)==1)
			if ((j*j+i*i>=x*x)&&(j*j+i*i<=y*y))
			{
				ans+=(n-i+1)*(m-j+1)*2;
			}
		}
	if (x*x<=1)
		ans+=n*(m+1) + m*(n+1);
	cout<<ans<<endl;
	return 0;
}