题解 | #素数伴侣#

素数伴侣

https://www.nowcoder.com/practice/b9eae162e02f4f928eac37d7699b352e

#include<stdio.h>
#include<string.h>
int n;
 int j1=0;
 int j2=0;
int a[105]={0};
int odd[105]={0};
int even[105]={0};
int cnt=0;
int used[105]={0};
int linked[105]={0};

int isprime(int x,int y)
{
    int z=x+y;
    if(z==1){return 0;}
    if(z==2){return 1;}
    for(int i=2;i<z;i++)
    {
        if(z%i==0){return 0;}
    }
    return 1;
}

int find(int i)
{
    for(int j=1;j<=j2;j++)
    {
        if(isprime(even[i-1],odd[j-1])==1&&used[j]==0)
        {
            used[j]=1;
            if(linked[j]==0){linked[j]=i;return 1;}
            else if(linked[j]!=0)
            {
                if(find(linked[j]))
                {
                    linked[j]=i;
                    return 1;
                }
            }
        }
    }
    return 0;
}


int main(void)
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d ",&a[i]);
        if(a[i]%2==0){even[j1++]=a[i];}
        else{odd[j2++]=a[i];}
    }
    if(j1==0||j2==0){cnt=0;}
    else{
        for(int i=1;i<=j1;i++)
        {
            memset(used,0,sizeof(used));
            if(find(i)){cnt++;}
        }
        
    }
   
    printf("%d",cnt);
    //printf("%d",isprime(3,6));
    return 0;
}

全部评论

相关推荐

11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
河和静子:如果大专也能好过的话,我寒窗苦读几年的书不是白读了?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务