欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > 上海市计算机学会竞赛平台2023年6月月赛丙组数对的个数

上海市计算机学会竞赛平台2023年6月月赛丙组数对的个数

2024/10/24 14:28:20 来源:https://blog.csdn.net/a121677_/article/details/140149380  浏览:    关键词:上海市计算机学会竞赛平台2023年6月月赛丙组数对的个数
题目描述

现在给定两个长度为𝑛n的正整数序列𝑎1,𝑎2,⋯ ,𝑎𝑛,𝑏1,𝑏2,⋯ ,𝑏𝑛a1​,a2​,⋯,an​,b1​,b2​,⋯,bn​。

问存在多少对数对(𝑖,𝑗),1≤𝑖<𝑗≤𝑛(i,j),1≤i<j≤n满足𝑎𝑖𝑎𝑗=𝑏𝑗𝑏𝑖aj​ai​​=bi​bj​​

输入格式

输入第一行,一个正整数𝑛n,表示序列的长度。

接下来𝑛n行,每行两个正整数𝑎𝑖,𝑏𝑖ai​,bi​。

输出格式

单个整数:表示表示满足题意的数对的个数。

数据范围

对于 50%50% 的数据,1≤𝑛≤10001≤n≤1000

对于 100%100% 的数据,1≤𝑛≤1,000,000,1≤𝑎𝑖,𝑏𝑖≤10001≤n≤1,000,000,1≤ai​,bi​≤1000

样例数据

输入:

3
4 5
3 8
10 2

输出:

1

详见代码:

#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int b[1000005];
int c[1000005];
int main()
{int n;int cnt=0;cin>>n;for (int i=1;i<=n;i++){cin>>a[i];cin>>b[i];c[a[i]*b[i]]++;}for (int i=1;i<=1000000;i++){if (c[i]>=2){cnt+=c[i]*(c[i]-1)/2;}}cout<<cnt;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com