zoukankan      html  css  js  c++  java
  • HDU(1016),打素数环

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016

    哈哈,状态来了就是不一样,很快就A了。

    注意的位置是,最后一个点,要与第一个点比较。

    #include <stdio.h>
    #include <string.h>
    
    int prime[50]= {0}; ///是素数就是0
    bool vis[50];
    int ans[25];
    int n;
    
    void dfs(int k)
    {
        //printf("%d
    ",k);
        if(k==n+1)
        {
            for(int i=1; i<n; i++)
                printf("%d ",ans[i]);
            printf("%d
    ",ans[n]);
            return ;
        }
        else if(k==n)
        {
            for(int i=1; i<=n; i++)
            {
                if(!vis[i]&&!prime[ans[k-1]+i]&&!prime[i+ans[1]])
                {
                    ans[k] = i;
                    vis[i]=true;
                    dfs(k+1);
                    vis[i] = false;
                }
            }
        }
        else
        {
            for(int i=1; i<=n; i++)
            {
                if(!vis[i]&&!prime[ans[k-1]+i])
                {
                    ans[k] = i;
                    vis[i]=true;
                    dfs(k+1);
                    vis[i] = false;
                }
            }
        }
    }
    
    int main()
    {
        ///打出40个素数来
        for(int i=2; i<8; i++)
            if(!prime[i])
                for(int j=i*i; j<50; j+=i)
                    prime[j] = 1;
    
        /*for(int i=2; i<=45; i++)
        {
            if(!prime[i])
                printf("%d ",i);
        }
        puts("");*/
    
        int Case = 1;
        while(scanf("%d",&n)!=EOF)
        {
            memset(vis,false,sizeof(vis));
            memset(ans,0,sizeof(ans));
            printf("Case %d:
    ",Case++);
            ans[1] = 1;
            vis[1] = true;
            dfs(2);
            puts("");
        }
    
        return 0;
    }
  • 相关阅读:
    apk反编译
    mysql 安装解读
    安卓=--确认
    安卓--界面--改变image view
    安卓--返回时,不丢失转态
    安卓--跳转
    安卓--菜单
    安卓--Toast
    设置网页上收藏夹的图标
    分帧标签
  • 原文地址:https://www.cnblogs.com/TreeDream/p/5712621.html
Copyright © 2011-2022 走看看