hdu 3908

来源:互联网 发布:swps软件怎么用 编辑:程序博客网 时间:2024/05/20 09:05
#include <algorithm>#include <iostream>#include <cstring>#include <cstdio>#define LL __int64using namespace std;int gcd(int a,int b){    if(b==0)    {        if(a==1)            return 1;        return 0;    }    return gcd(b,a%b);}int main(){    int i,j,k;    int t,n,m;    int num[1000];    int b[1000];    int a[1000];    scanf("%d",&t);    while(t--)    {        LL ans=0;        scanf("%d",&n);        for(i=0;i<n;i++)            scanf("%d",&num[i]);        int sum=0;        memset(a,0,sizeof(a));        memset(b,0,sizeof(b));        for(i=0;i<n;i++)        {            for(j=0;j<n;j++)            {                if(i==j)                continue;                if(gcd(num[i],num[j]))                    a[i]++;                else                    b[i]++;            }            sum+=a[i]*b[i];        }        printf("%d\n",n*(n-1)*(n-2)/6-sum/2);    }    return 0;}

0 0
原创粉丝点击