学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!
附上汇总贴:小猴编程C++ | 汇总-CSDN博客
【题目描述】
现在给定两个长度为 n 的正整数序列 a1,a2,⋯,an 和 b1,b2,⋯,bn。
问存在多少对数对 (i,j),(1≤i<j≤n),满足 ai/aj=bi/bj。
【输入】
第一行,包含一个整数 n。
接下来 n 行,每行两个正整数 ai,bi。
【输出】
一行,包含一个整数,表示结果。
【输入样例】
3
4 5
3 8
10 2
【输出样例】
1
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int n;
long long ans=0;
int a[500005] = {0}, b[500005] = {0}, f[1000005] = {0};
int main()
{
cin >> n;
for (int i=1; i<=n; i++) {
cin >> a[i] >> b[i];
ans += f[a[i]*b[i]];
f[a[i]*b[i]]++;
}
cout << ans;
return 0;
}
【运行结果】
3
4 5
3 8
10 2
1