ztr loves lucky numbers--hdu5676(DFS)
2024-10-19 14:44:17
http://acm.hdu.edu.cn/showproblem.php?pid=5676
题目大意: 给你一个数 让你找比这数大并且只含4和7 并且4和7的个数一样
枚举从0到10的18次方之间的所有的可能的数 在用二分搜索
因为20位超过longlong 所以特判一下
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<iostream>
#include<string.h>
#include<stdlib.h>
#define INF 0x3f3f3f3f3 using namespace std; long long a[];
long long int m;
long long int cont=; void DFS(int x,int y,long long num)
{
if(x== && y==)
{
a[++cont]=num;
return;
} if(x>)
DFS(x-,y,num*+);
if(y>)
DFS(x,y-,num*+);
} void Find()
{
a[]=;
a[]=;
cont=;
for(int i=;i<=;i=i+)
{
DFS(i/,i/,);
}
} int main()
{
int T;
Find();
scanf("%d",&T);
while(T--)
{
scanf("%lld",&m);
if(m==)
{
printf("47\n");
continue;
}
if(m>)
{
printf("44444444447777777777\n");
continue;
}
int l,r;
l=;r=cont;
while(l<=r)
{
int mid=(l+r)/;
if(a[mid]>m)
{
l=l;
r=mid-;
}
else if(a[mid]<m)
{
l=mid+;
r=r;
}
else if(a[mid]==m)
{
l=mid;
break;
}
}
printf("%lld\n",a[l]);
}
return ;
}
最新文章
- Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
- javascript检查移动设备是否支持重力方向感应
- (自用)专业排版套装:CTeX + TeXStudio
- js编码
- MySql系列:中文写入数据库出现错误java.sql.SQLException: Incorrect string value: &#39;\xE5\xxxx&#39; for column &#39;xxxx&#39; at row 1及其解决方法
- 「Poetize7」足球比赛
- Java解析YAML和Android解析YAML
- Java-IO之PipedReader和PipedWriter
- VBS列出windows更新列表
- VS开发入门二: VS 里提示图标的含义
- wget 使用
- MongoError: Cannot update &#39;__v&#39; and &#39;__v&#39; at the same time,错误解决办法
- hammer.js方法总结(只做了一个简单的demo)
- Autofs
- springboot redis 监听过期key值事件
- confluence导出pdf 文字显示不全
- Linux入门第二天——基本命令入门(上)
- Java实验五(客户端)
- 2018年数学建模国赛B题 智能RGV的动态调度策略
- 【转】OJ提交题目中的语言选项里G++与C++的区别