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 ;
}

最新文章

  1. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
  2. javascript检查移动设备是否支持重力方向感应
  3. (自用)专业排版套装:CTeX + TeXStudio
  4. js编码
  5. MySql系列:中文写入数据库出现错误java.sql.SQLException: Incorrect string value: &#39;\xE5\xxxx&#39; for column &#39;xxxx&#39; at row 1及其解决方法
  6. 「Poetize7」足球比赛
  7. Java解析YAML和Android解析YAML
  8. Java-IO之PipedReader和PipedWriter
  9. VBS列出windows更新列表
  10. VS开发入门二: VS 里提示图标的含义
  11. wget 使用
  12. MongoError: Cannot update &#39;__v&#39; and &#39;__v&#39; at the same time,错误解决办法
  13. hammer.js方法总结(只做了一个简单的demo)
  14. Autofs
  15. springboot redis 监听过期key值事件
  16. confluence导出pdf 文字显示不全
  17. Linux入门第二天——基本命令入门(上)
  18. Java实验五(客户端)
  19. 2018年数学建模国赛B题 智能RGV的动态调度策略
  20. 【转】OJ提交题目中的语言选项里G++与C++的区别

热门文章

  1. DMA简介
  2. 重新部署mysql遇到的问题
  3. dede网站目录权限设置
  4. css广告弹窗满屏跑
  5. GitHub简单命令行# 使用命令行传代码到GitHub
  6. (转)编码剖析Spring依赖注入的原理
  7. UGUI世界坐标转换为UI本地坐标
  8. DROP SEQUENCE - 删除一个序列
  9. c++ extern
  10. 安装docker和docker-compose