• HDOJ 1015 Safecracker


    Safecracker


    #include <iostream>
    #include <algorithm>
    #include <string.h>
    #include <cmath>


    using namespace std;


    int OK=1;


    int cmp(const void* a,const void * b)
    {
        return *(char*)b-*(char *)a;
    }


    void dfs(int cur,int n,int target,int* a,int* b,int* vis)
    {


      if(OK==1)
      {
            if(cur==5)
            {
                int t=( int)(b[0]-b[1]*b[1]+pow((double)b[2],3.)-pow((double)b[3],4.)+pow((double)b[4],5.)+0.5);//防止误差
                       // cout<<t<<endl;//v - w^2 + x^3 - y^4 + z^5 = target
                if(t==target)
                {
                    for(int i=0;i<5;i++)
                    {
                        cout<<(char)(b-1+'A');
                    }
                   cout<<endl;
                   OK=0;
                }
            }
            else
            {


                for(int j=0;j<n;j++)
                {
                 if(vis[j]==0)
                 {
                    vis[j]=1;
                    b[cur]=a[j];
                    dfs(cur+1,n,target,a,b,vis);
                    vis[j]=0;
                 }


                }


            }
      }
      else return ;
    }




    int main()
    {
        int n;
        char str[50];


    while(cin>>n>>str&&n)
    {
       OK=1;
        int a[50];
        int b[50];
        int vis[50]={0};
        int len=strlen(str);
        qsort(str,len,sizeof(str[0]),cmp);
        for(int i=0;i<len;i++)
          {
              a=(str-'A')+1;
              //cout<<a<<" ";
          }


        dfs(0,len,n,a,b,vis);
        if(OK==1)
          cout<<"no solution"<<endl;
    }




       return 0;
    }

  • 相关阅读:
    环境装好,开始学习
    懒惰了
    我的net试验田
    时间不够用
    【转帖】关于委托的精彩解说(非常形象)
    【转帖】 CLR 全面透彻解析:托管和本机代码互操作性
    【转贴】C#中的API32
    【转帖】Windows Mobile 开发系列文章收藏 Windows Mobile 6.x
    弹跳圣经——扣篮梦
    【转帖】.Net中C#的DllImport的用法
  • 原文地址:https://www.cnblogs.com/CKboss/p/3351120.html
Copyright © 2020-2023  润新知