您的位置:首页 > 其它

【第一次博客之旅】诠释暴力枚举

2016-03-08 08:19 183 查看

同学给的一个题目



/* 简单看一下,用暴力枚举的方法可以轻松解决*/

#include<stdio.h>

int zhao(char n)

{

    return (n==2||n==4);

}

int qian(char n)

{

    return (n==1||n==6);

}

int sun(char n)

{

    return (n==3||n==7);

}

int li(char n)

{

    return (n==5);

}

int zhou(char n)

{

    return (n==1||n==6||n==4);

}

int wu(char n)

{

    return (n==2||n==5);

}

int chen(char n)

{

    return (n==3||n==6||n==7);

}

int main()

{

    int a[8],b[8];

    for(int i=1;i<=7;i++)

    {

        for(int j=1;j<=7;j++)

        {

            for(int k=1;k<=7;k++)

            {

                for(int o=1;o<=7;o++)

                {

                    for(int p=1;p<=7;p++)

                    {

                        for(int q=1;q<=7;q++)

                        {

                            for(int n=1;n<=7;n++)

                            {

                                if(zhao(i)&&qian(j)&&sun(k)&&li(o)&&zhou(p)&&wu(q)&&chen(n))

                                {

                                    int num[7]={i,j,k,o,p,q,n},c=0;

                                    for(int s=0;s<7;s++)

                                    {

                                        for(int t=0;t<7;t++)

                                        {

                                            if(s!=t)

                                            {

                                                if(num[s]==num[t])

                                                {

                                                    c++;

                                                    break;

                                                }

                                            }

                                        }

                                    }

                                    if(c==0)

                                    {

                                        printf("赵:星期 %d     钱:星期%d\n",i,j);

                                        printf("孙:星期 %d     李:星期%d\n",k,o);

                                        printf("周:星期 %d     吴:星期%d\n",p,q);

                                        printf("陈:星期 %d\n\n\n",n);

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }

    }

}

//七重循环 暴力枚举  就是 如此任性



                                   // 答案四种情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: