链接:https://ac.nowcoder.com/acm/contest/12478/C
来源:牛客网
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
在3月6日,作为队内数论大佬的磊哥,定义了“3.6数对”。
定义为,如果一个数对 (x,y) 满足 2x = y,则称 (x,y) 为“3.6数对”。
现在有一个长度为n的数组 a[1⋯n] ,从中可以选出多少对 (i,j),满足(ai, aj) 为“3.6数对” ?
输入描述:
第一行一个正整数T(1≤T≤100)表示测试组数。
接下来2T行,每组第一行一个正整数n(1 ≤ n ≤ 104)表示数组长度。
接下来第二行n个正整数ai(1 ≤ ai ≤ 100)表示数组的元素。
输出描述:
每组输出一个整数表示答案。
题目直接暴力其实很简单,但是Python会超时 !
也没有想到什么优化的方法,比赛结束后看了其他人提交的代码。
t = int(input())
for i in range(t):n = int(input())a = list(map(int, input().split()))c = [0 for i in range(101)]s=0for j in range(n):c[a[j]]=c[a[j]]+1for j in range(1,51):s=s+c[j]*c[2*j]print(s)