hdu6468 zyb的面試 (思惟)

題目傳送門php

題意:html

將1~n個數按字典序排序後,求第k個數ios

 

思路:ide

 

代碼:spa

 

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
#include<math.h>
#include<map>
using namespace std;
typedef long long ll;
int ans;
int n,k;
bool flag;
int cnt;


void dfs(int x,int &cnt)
{//cout<<x<<" "<<cnt<<endl;
    if(flag) return ;
    if(x>n||cnt>k) return ;
    if(cnt==k) {
        ans=x;
        flag=1;
        return ;
    }
    for(int i=10*x;i<10*(x+1);i++)
        {
          if(i>n) return ;//注意這裏在hdu寫成if(i<n)會超時
          dfs(i,++cnt);
        }

}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        ans=0;
        scanf("%d %d",&n,&k);
         cnt=0;
        flag=0;
        for(int i=1;i<=9;i++)
         dfs(i,++cnt);
        printf("%d\n",ans);
    }
    return 0;
}
View Code

參考博客:http://www.javashuo.com/article/p-tbtmmwxc-bt.htmlcode

相關文章
相關標籤/搜索