QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#359256#5553. Alternative Architecturecrsfaa#AC ✓5ms3860kbC++14930b2024-03-20 15:23:352024-03-20 15:23:36

Judging History

你现在查看的是最新测评结果

  • [2024-03-20 15:23:36]
  • 评测
  • 测评结果:AC
  • 用时:5ms
  • 内存:3860kb
  • [2024-03-20 15:23:35]
  • 提交

answer

#include<bits/stdc++.h>
#define Yukinoshita namespace
#define Yukino std
#define int long long
using Yukinoshita Yukino;
int read()
{
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9') w=ch=='-'?-1:1,ch=getchar();
	while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
	return s*w;
}
int sq(int x)
{
	int v=sqrt(x);
	if(v*v==x) return v;
	v--;
	if(v*v==x) return v;
	v+=2;
	if(v*v==x) return v;
	return -1;
}
map<pair<int,int>,int> mp;
signed main()
{
	int a=read()-1,b=read()-1,i,j,s=0;
	vector<pair<int,int>> x,y;
	for(i=1;i<a;i++)
	{
		int v=sq(a*a-i*i);
		if(v!=-1)
			x.push_back({i,v});
	}
	for(i=1;i<b;i++)
	{
		int v=sq(b*b-i*i);
		if(v!=-1)
			y.push_back({i,v});
	}
	for(auto p:x)
	{
		int g=__gcd(p.first,p.second);
		mp[{p.first/g,p.second/g}]++;
	}
	for(auto p:y)
	{
		int g=__gcd(p.first,p.second);
		s+=mp[{p.first/g,p.second/g}];
	}
	cout<<(s+1)*(a==b?1:2);
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3600kb

input:

6 11

output:

6

result:

ok single line: '6'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3508kb

input:

26 26

output:

5

result:

ok single line: '5'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

123 456

output:

2

result:

ok single line: '2'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3636kb

input:

3 3

output:

1

result:

ok single line: '1'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

2 2

output:

1

result:

ok single line: '1'

Test #6:

score: 0
Accepted
time: 3ms
memory: 3512kb

input:

2 1000000

output:

2

result:

ok single line: '2'

Test #7:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

1000000 2

output:

2

result:

ok single line: '2'

Test #8:

score: 0
Accepted
time: 5ms
memory: 3624kb

input:

1000000 1000000

output:

9

result:

ok single line: '9'

Test #9:

score: 0
Accepted
time: 2ms
memory: 3808kb

input:

320451 480676

output:

270

result:

ok single line: '270'

Test #10:

score: 0
Accepted
time: 4ms
memory: 3616kb

input:

801126 801126

output:

189

result:

ok single line: '189'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

345451 460601

output:

10

result:

ok single line: '10'

Test #12:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

560236 560236

output:

63

result:

ok single line: '63'

Test #13:

score: 0
Accepted
time: 3ms
memory: 3640kb

input:

640901 320451

output:

270

result:

ok single line: '270'

Test #14:

score: 0
Accepted
time: 2ms
memory: 3628kb

input:

549251 274626

output:

98

result:

ok single line: '98'

Test #15:

score: 0
Accepted
time: 3ms
memory: 3636kb

input:

563551 751401

output:

150

result:

ok single line: '150'

Test #16:

score: 0
Accepted
time: 4ms
memory: 3516kb

input:

604251 906376

output:

42

result:

ok single line: '42'

Test #17:

score: 0
Accepted
time: 4ms
memory: 3600kb

input:

556251 834376

output:

66

result:

ok single line: '66'

Test #18:

score: 0
Accepted
time: 1ms
memory: 3792kb

input:

216051 216051

output:

45

result:

ok single line: '45'

Test #19:

score: 0
Accepted
time: 4ms
memory: 3636kb

input:

733526 733526

output:

135

result:

ok single line: '135'

Test #20:

score: 0
Accepted
time: 4ms
memory: 3544kb

input:

475307 950613

output:

54

result:

ok single line: '54'

Test #21:

score: 0
Accepted
time: 3ms
memory: 3856kb

input:

781251 390626

output:

34

result:

ok single line: '34'

Test #22:

score: 0
Accepted
time: 5ms
memory: 3564kb

input:

945051 945051

output:

45

result:

ok single line: '45'

Test #23:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

484201 564901

output:

30

result:

ok single line: '30'

Test #24:

score: 0
Accepted
time: 3ms
memory: 3628kb

input:

645961 645961

output:

9

result:

ok single line: '9'

Test #25:

score: 0
Accepted
time: 3ms
memory: 3636kb

input:

750621 450373

output:

6

result:

ok single line: '6'

Test #26:

score: 0
Accepted
time: 3ms
memory: 3860kb

input:

736951 368476

output:

70

result:

ok single line: '70'

Test #27:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

867603 433802

output:

18

result:

ok single line: '18'

Test #28:

score: 0
Accepted
time: 0ms
memory: 3792kb

input:

531251 265626

output:

78

result:

ok single line: '78'

Test #29:

score: 0
Accepted
time: 2ms
memory: 3516kb

input:

423501 211751

output:

14

result:

ok single line: '14'

Test #30:

score: 0
Accepted
time: 2ms
memory: 3788kb

input:

390626 390626

output:

17

result:

ok single line: '17'

Test #31:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

2 3

output:

2

result:

ok single line: '2'

Test #32:

score: 0
Accepted
time: 0ms
memory: 3784kb

input:

3 2

output:

2

result:

ok single line: '2'