码迷,mamicode.com
首页 > 其他好文 > 详细

UVa 10624 - Super Number

时间:2015-03-14 19:52:35      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

题目大意

给定两个数n和m,如果长度为m的数满足对于每个i(n<=i<=m),数字的前i位都能被i整除,那么这个数就是超级数,求出字典序最小的符合要求的超级数。

分析

直接暴力搜索

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
int str[50];
int n,m,flag;
int judge(int cur)
{
int sum=0;
for(int i=0; i<cur; i++)
sum=(sum*10+str[i])%cur;
return sum;
}
void dfs(int cur)
{
if(flag==1)
return ;
if(cur==m)
{
flag=1;
return ;
}
for(int i=0; i<=9; i++)
{
str[cur]=i;
if((cur<n-1)||!judge(cur+1))
{
dfs(cur+1);

}
if(flag==1)
return ;
}
}
int main()
{
int t;
scanf("%d",&t);
for(int ii=1; ii<=t; ii++)
{
scanf("%d %d",&n,&m);
flag=0;
for(int i=1; i<=9; i++)
{
str[0]=i;
dfs(1);
if(flag==1)
{
printf("Case %d: ",ii);
for(int i=0; i<m; i++)
printf("%d",str[i]);
printf("\n");
break;
}
}
if(flag==0)
printf("Case %d: -1\n",ii);
}
return 0;
}

 

UVa 10624 - Super Number

标签:

原文地址:http://www.cnblogs.com/tsw123/p/4338082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!