zoukankan      html  css  js  c++  java
  • hdu 1015 Safecracker 暴力搜索

    http://acm.hdu.edu.cn/showproblem.php?pid=1015

    题目输入多组数据第组包括:一个整数n和一个字符串,要求从字符串中,选五个字串且满足v - w^2 + x^3 - y^4 + z^5 = n;

    c++

    #include <stdio.h>
    #include<string.h>
    #include<math.h>
    #include <iostream>
    #include <deque>
    using namespace std;
    double n,q[28],ans;
    char p[15];
    int num,len;
    bool sv()
    {
          int i,j,k,l,m;
          for(i=num-1;i>=0;i--)  //呵呵五重循环居然过了。。15ms
                for(j=num-1;j>=0;j--)
                for(k=num-1;k>=0;k--)
                for(l=num-1;l>=0;l--)
                for(m=num-1;m>=0;m--)
                {
                  if(i==j||i==k||i==l||i==m||j==k||j==l||j==m||k==l||k==m||l==m)
                    continue;
                  ans=q[i]-pow(q[j],2)+pow(q[k],3)-pow(q[l],4)+pow(q[m],5);
                  if(fabs(ans-n)<1e-8)
                  {
                   printf("%c%c%c%c%c\n",int(q[i]+64),int(q[j]+64),int(q[k]+64),int(q[l]+64),int(q[m]+64));
                   return true;
                  }
                }
          return false;
    }
    main()
    {
          int i,j;
          while(scanf("%lf%s",&n,p),n)
          {
                len=strlen(p);j=0;
                for(i=0;i<26;i++)
                  q[i]=0;
                for(i=0;i<len;i++)
                  q[int(p[i]-65)]=p[i]-64;
                for(i=0;i<26;i++)
                  if(q[i])
                    q[j++]=q[i];

                 num=j;
                if(!sv())
                printf("no solution\n");
              
          }
    }

  • 相关阅读:
    html5 Canvas画图3:1px线条模糊问题
    移动端适配
    JSON数据转换方法 parse()和stringify()
    原生的强大DOM选择器querySelector
    正则去空格方法
    HTML5开发手机应用--viewport的作用
    编译原理的认识与感悟
    CSS实例:图片导航块
    导航,头部,CSS基础
    web基础,用html元素制作web页面
  • 原文地址:https://www.cnblogs.com/zxj015/p/2740259.html
Copyright © 2011-2022 走看看