• 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");
              
          }
    }

  • 相关阅读:
    C# 给Word每一页设置不同图片水印 E
    C#/VB.NET 将XML转为PDF E
    Java 替换PDF中的字体 E
    C# 读取txt文件生成Word文档 E
    AVL Tree
    Kafdrop
    Python递归遍历目录并删除文件中的前N行
    canal
    中医考研必背针灸歌诀
    nginx(https)代理问题
  • 原文地址:https://www.cnblogs.com/zxj015/p/2740259.html
Copyright © 2020-2023  润新知