zoukankan      html  css  js  c++  java
  • hdu 2682

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #define N  700
    #define NN 2000010
    int prime[NN];
    int a[N];
    struct node {
    int x,y,w;
    }ma[N*N];
    void ispri() {
      int i,j;
      memset(prime,-1,sizeof(prime));
      prime[0]=1;
      prime[1]=1;
      for(i=2;i<=1500;i++)
      if(prime[i]==-1) {
        for(j=i*2;j<=2000000;j+=i)
            prime[j]=1;
      }
     /* int k=0;
      for(i=2;i<=1000000;i++)
        if(prime[i]==-1) {
        k++;
        printf("%d ",i);
        }
      printf("%d ",k);*/
    }
    int pre[N];
    int find(int x) {
    if(x!=pre[x])
    pre[x]=find(pre[x]);
    return pre[x];
    }
    int cmp(const void *a,const void *b) {
    return (*(struct node *)a).w-(*(struct node *)b).w;
    }
    int MIN(int a,int b) {
    return a>b?b:a;
    }
    int main() {
        int n,i,j,k,t,ans,len,aa,bb;
        ispri();
        scanf("%d",&t);
        while(t--) {
            scanf("%d",&n);
            for(i=1;i<=n;i++)
                pre[i]=i;
            for(i=1;i<=n;i++)
                scanf("%d",&a[i]);
                len=0;
                for(i=1;i<=n;i++)
                    for(j=i+1;j<=n;j++)
                    if(prime[a[i]]==-1||prime[a[j]]==-1||prime[a[i]+a[j]]==-1)
                        ma[len].x=i,ma[len].y=j,ma[len++].w=MIN(MIN(a[i],a[j]),fabs(a[i]-a[j]));
                        qsort(ma,len,sizeof(ma[0]),cmp);
                     /*   for(i=0;i<len;i++)
                            printf("%d ",ma[i].w);*/
                    ans=0;k=0;
            for(i=0;i<len&&k<n-1;i++) {
                aa=find(ma[i].x);
                bb=find(ma[i].y);
                if(aa!=bb) {
                    pre[aa]=bb;
                    ans+=ma[i].w;
                    k++;
                }
            }
            if(k==n-1)
                printf("%d ",ans);
            else
                printf("-1 ");
         }


    return 0;
    }
  • 相关阅读:
    Vue 路由的编程式导航与history模式
    Vue 路由配置、动态路由
    Vue 组件传值
    Vue 组件以及生命周期函数
    Vue 封装js
    记一次proc_open没有开启心得感悟
    面向内容的标记语言--markdonw
    浅谈索引
    mysql主从配置
    centos7下操作防火墙
  • 原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410744.html
Copyright © 2011-2022 走看看