Atcoder Beginner Contest 114 C-755

INS/伪距组合导航(1) 星间单差GNSS/INS伪距紧组合 阅读详情

题目来源:Atcoder Beginner Contest 114 C

https://beta.atcoder.jp/contests/abc114/tasks/abc114_c

C - 755

 

Time Limit: 2 sec / Memory Limit: 1024 MB

Score : 300300 points

Problem Statement

You are given an integer NN. Among the integers between 11 and NN (inclusive), how many Shichi-Go-San numbers (literally "Seven-Five-Three numbers") are there?

Here, a Shichi-Go-San number is a positive integer that satisfies the following condition:

  • When the number is written in base ten, each of the digits 7, 5 and 3 appears at least once, and the other digits never appear.

Constraints

  • 1≤N<1091≤N<109
  • NN is an integer.

 

Input

Input is given from Standard Input in the following format:

NN

Output

Print the number of the Shichi-Go-San numbers between 11 and NN (inclusive).

 

Sample Input 1 Copy

Copy

575

Sample Output 1 Copy

Copy

4

There are four Shichi-Go-San numbers not greater than 575575: 357,375,537357,375,537 and 573573.

 

Sample Input 2 Copy

Copy

3600

Sample Output 2 Copy

Copy

13

There are 1313 Shichi-Go-San numbers not greater than 36003600: the above four numbers, 735,753,3357,3375,3537,3557,3573,3575735,753,3357,3375,3537,3557,3573,3575 and 35773577.

 

Sample Input 3 Copy

Copy

999999999

Sample Output 3 Copy

Copy

26484

 

题意为在3、5、7至少都有一个的基础中再添加3、5、7其中一个进去的组合有多少。

解题思路:用一个队列分别存储3、5、7,每次分别再后面加3或5或7再压入队列,更新队列的长度。并且没有判断新生成的组合是否要求,如果比输入的N小的话则计数,否则就结束枚举(因为枚举都是从3、5、7为头开始,尾部也是一个个插3、5、7,是从小到大的)且不会有重复。

#include<bits/stdc++.h>
using namespace std;
int main()
{   char c[]={'3','5','7'};
	 int n;
	 cin>>n;
	 queue<string>q;
	 q.push("3");
	 q.push("5");
	 q.push("7");
	 int on=3,nn=0,ans=0,flag=0;
	  while(1)
    {
    	for(int i=1;i<=on;i++)
    	{
    		 string t=q.front();
    		 q.pop();
    		 for(int j=0;j<3;j++)
    		 {
    		 	string tt=t+c[j];
    		
    		 	int num3=0,num5=0,num7=0;
    		 	for(int k=0;k<tt.length();k++)
    		 	{
    		 		if(tt[k]=='3')num3++;
    		 		else if(tt[k]=='5')num5++;
    		 		else if(tt[k]=='7')num7++;
    		 		
				 }
				 
    		 	stringstream ss;
    		 	int x;
    		 	ss<<tt;
    		 	ss>>x;
    		 	q.push(tt);
    		 	nn++;
    		 	if(x<=n){
    		 		if((num3&&num5&&num7))
    		 		ans++;
				 }
				 else
				 {
				 	flag=1;
				 	break;
				 }
			 }
			 if(flag)break;
		}
		if(flag)break;
		on=nn;
		nn=0;
	}
	printf("%d",ans);
 } 

另一种写法是直接从三位数开始,每次分别在数的前面、尾部、中间插一个值,这种做法需要查重,而且重复的次数较多。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	 char b[4]={'3','5','7'};
	map<int,int> M;
    queue<string> q;
    q.push("357");
    q.push("375");
    q.push("537");
    q.push("573");
    q.push("735");
    q.push("753");
    int w=3,count=6,ans=6,nn=0,n;
    stringstream ss;
    cin>>n;
    if(n>=3357)
    {
    	 while(w>0)
    	 {
    	 	  int flag=0,x;
    	 	  for(int j=1;j<=count;j++)
    	 	  {
    	 	  	 string str =q.front(),str1;
    	 	  	 q.pop();
    	 	  	 for(int i=0;i<3;i++)
    	 	  	 {   
    	 	  	      for(int k=0;k<=w;k++)
    	 	  	 	 {   str1=str;
						 str1.insert(str1.begin()+k,b[i]);
    	 	  	 	 ss<<str1;
    	 	  	 	  ss>>x;
    	 	  	 	  ss.clear();
    	 	  	 	  if(x<=n)
    	 	  	 	  {
    	 	  	 	  	 if(M[x]==0)
    	 	  	 	  	 {
    	 	  	 	  	 	 q.push(str1);
    	 	  	 	  	 	 ans++;
    	 	  	 	  	 	 nn++;
    	 	  	 	  	 	 M[x]=1;
							   }
						  }
						  else
						  flag=1;
						 }
    	 	  	  
    	 	  	 	 
					}	
			   }
				count=nn;
				nn=0;
				if(flag)
				break;
				else
				w++;
		 }
	}
  else if(n>=753) ans=6;
    else if(n>=735) ans=5;
    else if(n>=573) ans=4;
    else if(n>=537) ans=3;
    else if(n>=375) ans=2;
    else if(n>=357) ans=1;
    else ans=0;
    printf("%d\n",ans);
}

两道题效率对比。

树莓派 5 AI 套件(Hailo)示例 该用户自定义类作为输入传递给回调函数,该函数在管道输出上运行。它用于主程序与回调函数之间的通信。它对 hailo_rpi_common::app_callback_class 进行了扩展,并可根据应用程序的具体情况定制附加变量和方法。 阅读详情

相关推荐

Linux V4L2驱动开发实战:手把手教你用I2C摄像头Sensor注册一个v4l2_subdev

本文详细解析了Linux V4L2驱动开发中I2C摄像头Sensor注册v4l2_subdev的全流程,包括初始化、操作集填充、异步匹配等关键环节。通过实战案例和代码示例,帮助开发者掌握V4L2子系统下的摄像头驱动开发技巧,提升嵌入式Linux系统开发能力。

weixin_30328063的博客 418

AtCoder&Luogu[ABC114C] 755题解

其实他是用来判断是否。组成,那么只需要枚举每个位为。

m0_66786097的博客 340

vue3:实现ECharts3D地图详细示例,echarts实现3D地图map3D,vue3如何利用echarts绘制3d地图立体城市省市地区分布,可视化数据大屏3D炫酷中国地图(复制源码,开箱即用)

echarts实现中国地图记录篇之3D地图,Echarts地图之——如何让地图显示出3d感,【3d地图】vue中使用echarts geo3D,echarts实现某个市3D地图展示,vue3中使用echarts实现中国地图,3D地图图表,echarts实现3D地图——map3D,数据大屏3d地图,vue3+echarts绘制中国地图,3D地图,省、市、县,【3d地图】vue3中使用echarts geo3D,echarts实现某个市3D地图展示,ECharts3D地图(详细示例——附有具体注释),echar

✅ 精选推荐文章 3669

Atcoder beginner contest 114D 756

https://atcoder.jp/contests/abc114/tasks/abc114_d 首先先找出一种方法能由a,b的一些与因数有关的信息推出a×b的信息。比如a分解质因数后a=p1x1+p2x2+…pnxn,那么a的因数个数就有(x1+1)×(x2+1)×(x3+1)…×(xn+1)个。75=5×5×3=25×3=15×5=75。那么先把1-n全部分解质因数,统计每个质数出现的个数(...

zekunzhao的博客 338

★教程1:matlab学习教程入门100例目录

★基础入门 1.为什么要学习MATLAB 2.MATLAB安装 持续更新....... ★MATLAB基础编程语言熟悉

FPGA/MATLAB学习教程/源码/项目合作开发 4万+

PointPillars代码详解及实现

SourceURL:file://文字文稿1和2D图像的深度学习目标检测很不相同,点云数据具有两个显著特征,为了将图像领域卷积神经网络做模式识别的经验引入三维点云中,一些深度学习方法采用了三维卷积方法或者是将点云投射为2维深度图,还有一类方法是使用鸟瞰视角Bird’s Eye View,来组织点云数据的输入,相比于2维深度图,鸟瞰图不存在遮挡问题但是数据分布更加稀疏造成网络特征学习效率低下。

m0_47313541的博客 660

Atcoder abc 168 C

C - : (Colon) Time Limit: 2 sec / Memory Limit: 1024 MB Score:300300points Problem Statement Consider an analog clock whose hour and minute hands areAAandBBcentimeters long, respectively. An endpoint of the hour hand and an endpoint of the minut...

WELCOME!!! 528

【docker】第10篇 Failed with result ‘exit-code和Start request repeated too quickly和Failed to start Docker

【docker】解决 Failed with result 'exit-code'和Start request repeated too quickly和Failed to start Docker。

Fanjufei的博客 6818

[ABC114c]755(dfs+二进制)

聪明题变聪明,小技巧+1

m0_66433418的博客 224

【Frida Android】实战篇4:SSL Pinning 证书绑定绕过 Hook 教程(一)

在前两章中,我们学习了中间人抓包与 Hook 抓包的基础方法,这些方法在理想环境下能够有效获取网络请求数据。但在实际的企业级应用中,出于安全防护需求,很多 APP 会启用证书绑定(SSL Pinning)机制。这种机制会让客户端对服务器证书的校验更为严格,导致常规的抓包方法(即使将 BurpSuite/Charles 证书安装到系统信任区)也无法生效。因此,从本章开始,我们将系统学习 SSL Pinning 机制的绕过技术。SSL Pinning(证书绑定)是客户端校验服务器身份的进阶安全机制。

水滴石穿 1610

ABAP Module Pool 编程入门:把 Table Control 用透,在 Dynpro 里做出可编辑的列表界面

摘要:Table Control是SAP GUI中用于对话式事务的多行数据交互控件,具备滚动、选择、修改等功能。它通过CXTAB_CONTROL/CXTAB_COLUMN结构实现动态控制,需在PBO/PAI中配合LOOP循环处理数据流。开发时需注意LINES、TOP_LINE等关键字段设置,并采用并行循环简化编码。典型应用包括订单行维护、主数据管理等场景,支持多选删除、列排序等业务需求。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 340

AtCoder ABC周赛2023 11/4 (Sat) D题题解

给你两个数组(A和B)长度都为n,然你求出一个01元组(设为x,长度为m) 使得(i

ltl1的博客 778

16、Arduino MEGA 2560 固件与电路详解

本文详细介绍了Arduino MEGA 2560的固件编程与电路设计,涵盖ATmega16U2和ATmega2560的熔丝配置、stk500v2引导加载程序的备份与恢复方法、使用Microchip Studio通过ICSP烧录固件的步骤,以及debugWIRE和JTAG调试接口的选择与配置。同时提供了电路块图解析、组件位置参考及常见问题解决方案,帮助用户深入理解硬件结构并进行高效开发与调试。

swift5iosmith的博客 193

AtCoder Beginner Contest 114 Solution

A 753 Solved. 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int mp[10]; 5 6 int main() 7 { 8 mp[7] = mp[5] = mp[3] = 1; ...

banshen0201的博客 265

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

AtCoder--755——dfs

题目描述 You are given an integer N. Among the integers between 1 and N (inclusive), how many Shichi-Go-San numbers (literally “Seven-Five-Three numbers”) are there? Here, a Shichi-Go-San number is a posi...

PushyTao的博客 488

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

AtCoder BeginnerContest 114 A-753

Time Limit: 2 sec / Memory Limit: 1024 MB Score :100100points Problem Statement Shichi-Go-San(literally "Seven-Five-Three") is a traditional event in a certain country to celebrate the growth of...

龍丶逸的博客 472

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

AtCoder Beginner Contest 114_D

题意描述: 在不超过n!的数中有多少个数恰好含有75个因子。 题解: 75=5*5*3=15*5=25*3=75 我们知道一个数可以分解成多个质因数的乘积。 因此可以想到75个因子可以是质因子个数的排列组合。 如当n=10时 2的个数最多是8个,3的个数是4个,5的个数有2个,7的个数有1个 只能凑出一个(4+4+1)所以答案是1 因此此题可以化简成将n!分解质因数,统计每个质因...

TelmaZzzz的博客 523

Actcoder C-755

Problem Statement You are given an integer N. Among the integers between 1 and N (inclusive), how many Shichi-Go-San numbers (literally "Seven-Five-Three numbers") are there? Here, a Shichi-Go-San n...

h2017010687的博客 645

AtCoder题解——Beginner Contest 168——C - : (Colon)

题目相关 题目链接 AtCoder Beginner Contest 168 C题,https://atcoder.jp/contests/abc168/tasks/abc168_c。 Problem Statement Consider an analog clock whose hour and minute hands areAandBcentimeters long, respectively. An endpoint of the hour hand and an endpoin...

努力中的老周的专栏 887

Atcoder Beginner Contest D题 选解

过程 A B C D E 闲着没事干,在vjudge上面vpABC的D题. 这些题目大多数思路都非常妙,让我不禁眼前一亮. 过程 我与Styx大佬同时开始vp,大家都没有看过题. 一开始我们看哪题哪题不会. 但是5个小时之后我们都AK了,还意犹未尽,觉得4题不够,表示再加一题.(涂掉) A 石头剪刀布,你与对面都只能出石头和布. 任何时候你与对面都必须保证...

Fuko_Ibuki的博客 1万+

AtCoder Beginner Contest 172 C-D

AtCoder Beginner Contest 172 传送门 C - Tsundoku 题意:输入长度为n的a数组和长度为m的b数组,和一个k,从a和b数组的顶端(也就是最前)选出数构成子串,使得子串各数的和小于等于k,求构造的子串长度最大值。 题解:前缀和+二分 因为无法判断第一个是先放a[0]还是先放b[0],所以需要进行两次二分。 前缀和预处理a[i]表示a[0]+a[1]+…+a[i] 例如:假设第一个时先放a,当i=x,利用upper_bound(b,b+m,k-a[x])-b在b中找到第一个

hrdate(菜菜菜带带带) 2072

Atcoder ACL Beginner Contest E - Replace Digits

线段树维护

Ajwallet 640

AtCoder Beginner Contest 112 C - Pyramid

  Problem Statement In the Ancient Kingdom of Snuke, there was a pyramid to strengthen the authority of Takahashi, the president of AtCoder Inc. The pyramid had center coordinates(CX,CY)and height ...

vinacky 929

Atcoder Beginner Contest 115 D - Christmas 递归

D - Christmas   Time limit : 2sec / Memory limit : 1024MB Score : 400 points Problem Statement In some other world, today is Christmas. Mr. Takaha decides to make a multi-dimensional burger in h...

explodee的博客 400

atcoder beginner contest 144 Gluttony(二分答案)

题目大意: 有an,bn ,我们找到an和bn每个元素的一种一一对应关系。使得min( max(ai*bi))。 已知我们可以进行操作让an中的任一个元素减少1。操作数最大为k,问我们怎么操作,可以min( max(ai*bi))。 解题思路: 首先,我们一个很直接的发现是:让an和bn进行一个排序,让an从小到大让bn从大到小排序,这时候让它们上下对齐放好,它们上下连线即为一个最佳匹配。...

FrostMonarch的博客 568

AtCoder ABC 140E Second Sum

题目链接:https://atcoder.jp/contests/abc140/tasks/abc140_e 题目大意   给定一个 1~N 的排列 P.   定义$X_{L, R}$的值为$P_L, P_{L+1}, \ldots, P_R$中第二大的数的值.   求$\displaystyle \sum_{L=1}^{N-1} \sum_{R=L+1}^{N} X_{L,R}...

weixin_30287169的博客 479
上一篇: A - Two Abbreviations
下一篇: Atcoder Dwango Programming Contest V C - k-DMC
explodee
博客等级 码龄9年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值