zoj 1403

来源:互联网 发布:mac 普通鼠标左右 编辑:程序博客网 时间:2024/06/03 04:09

zoj 1403

还是要多刷题。知道方法,就是敲不出能 AC 的代码。

pow()  函数输出的是一个 浮点数 。

简单枚举。

#include<iostream>#include<cstdio>#include<string.h>#include<cmath>#include<algorithm>using namespace std;int s[50];bool cmp(int x,int y){    return x>y?1:0;}int n,len;void fuck(int len){    int v,w,x,y,z,flage,flage1,flage2,flage3,sum;    flage=0;    flage1=0;    flage2=0;    flage3=0;    for(v=0; v<len; v++)    {        for(w=0; w<len; w++)        {            if(v!=w)            {                for(x=0; x<len; x++)                {                    if(v!=x&&w!=x)                    {                        for(y=0; y<len; y++)                        {                            if(v!=y&&w!=y&&x!=y)                            {                                for(z=0; z<len; z++)                                {                                    if(v!=z&&w!=z&&x!=z&&y!=z)                                    {                                        sum=(s[v]-s[w]*s[w]+s[x]*s[x]*s[x]-s[y]*s[y]*s[y]*s[y]+s[z]*s[z]*s[z]*s[z]*s[z]);                                      //  printf("sum = %d\n",sum);                                        if(sum==n)                                        {                                            printf("%c%c%c%c%c\n",s[v]+64,s[w]+64,s[x]+64,s[y]+64,s[z]+64);                                            flage=1;                                            break;                                        }                                    }                                }                                if(flage==1)                                {                                    flage1=1;                                    break;                                }                            }                        }                        if(flage1==1)                        {                            flage2=1;                            break;                        }                    }                }                if(flage2==1)                {                    flage3=1;                    break;                }            }        }        if(flage3==1)        {            break;        }    }    if(flage==0)    {        printf("no solution\n");    }}int main(){   /* printf("%d %d %d %d %d\n",'Y'-64,'O'-64,'X'-64,'U'-64,'Z'-64);    printf("%d\n",25-15*15+24*24*24-21*21*21*21+26*26*26*26*26);    printf("%d\n",)*/    //printf("%d")    //printf("%lf\n",pow(5,1.5));    //return 0;    int len,i;    char str[50];    while(~scanf("%d",&n)!=EOF)    {        scanf("%s",str);        if(n==0&&strcmp(str,"END")==0)            return 0;        len=strlen(str);        for(i=0; i<len; i++)        {            s[i]=str[i]-64;        }        sort(s,s+len,cmp);         /*for(i=0; i<len; i++)         {             printf("%d\n",s[i]);         }*/        fuck(len);    }    return 0;}


0 0
原创粉丝点击