程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 1015 Safecracker

HDU 1015 Safecracker

編輯:C++入門知識

HDU 1015 Safecracker


終於做對DFS了。這題就是簡單的DFS吧,不過對我而言,我是費了不少力氣。

#include
#include
#include
#include
#include
using namespace std;
char s[15];
bool isok,visited[15];
int len;
void dfs(int target,char *ans,int cnt,int id)//cnt用於存儲是第幾次,一共5次。
{
    if(isok)
        return;
    if(target==0&&cnt==5)
    {
        isok=true;
        return;
    }
    if(cnt>=5)
        return;
    int t;
    for(int i=0;ib;
}
int main()
{
    int target;
    while(scanf("%d%s",&target,s))
    {
        if(target==0&&strcmp(s,"END")==0)
            break;
        len=strlen(s);
        sort(s,s+len,cmp);//排序,因為題目要求是字典序大的答案
        char ans[5];
        memset(visited,false,sizeof(visited));
        isok=false;
        dfs(target,ans,0,0);
        if(isok)
        {
            for(int i=0;i<5;i++)
                printf("%c",ans[i]);
            printf("\n");
        }
        else
            printf("no solution\n");
    }
    return 0;
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved