蓝桥杯2022c/c++b组 前半部分题目

前言

蓝桥杯,题目都好难懂啊,真是前半部分考对题目的理解,后半部分考算法

九进制转十进制

题目链接:P2031 - [蓝桥杯2022初赛] 九进制转十进制 - New Online Judge

题意:

九进制正整数(2022) 转换成十进制等于多少?
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。

这个题其实你手算比敲代码更要快,题目还是比较简单的

代码如下

#include<stdio.h>
int main()
{
	int c=2022,sum=0;
	sum=c%10*1+c/10%10*9+c/10%10*9*9+c/10%10*9*9*9;
	printf("%d",sum);
	return 0;
}

建议手算

顺子日期

题目链接:http://oj.ecustacm.cn/problem.php?id=2032

题意

小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。
顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。
例如20220123 就是一个顺子日期,因为它出现了一个顺子:123;
本题顺子的定义:i j k 是一个顺子,满足 i+1=j、j+1=k、i≥0
而20221023 则不是一个顺子日期,它一个顺子也没有。
小明想知道在整个2022年份中,一共有多少个顺子日期。
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。

直接手算吧

 刷题统计

题目链接:P2033 - [蓝桥杯2022初赛] 刷题统计 - New Online Judge

题意

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。
他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。
请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?

输入格式

输入一行包含三个整数a, b 和n.
50% 的评测用例:1 ≤ a, b, n ≤ 10^6;
100% 的评测用例:1 ≤ a, b, n ≤ 10^18。

输出格式

输出一个整数代表天数。

输入样例

10 20 99

输出样例

8

先上代码

#include<stdio.h>
int main()
{
	long long a,b,n;
	scanf("%lld %lld %lld",&a,&b,&n);
	long long week=n/(a*5+b*2);
	long long c=n%(a*5+b*2);
	long long l=1;
	long long day=0;
	 day=day+week*7;
	while(c>0)
	{
		if(l%7==0||l%7==6)
		c-=b;
		else
		c-=a;
		l++;
	}
	printf("%lld",day+l-1);
	return 0;
}

代码大概意思就是先分析它要做几个周的题,从而缩小值,避免越界,然后计算最后一周需要做几天,这道题易错点就是直接算,可能越界;

修剪灌木

题目链接:P2034 - [蓝桥杯2022初赛] 修剪灌木 - New Online Judge

题意:

爱丽丝要完成一项修剪灌木的工作。
有 N 棵灌木整齐的从左到右排成一排。
爱丽丝在每天傍晚会修剪一棵灌木,让灌木的高度变为 0 厘米。
爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。
当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修剪灌木。
直到修剪了最左的灌木后再次调转方向。然后如此循环往复。
灌木每天从早上到傍晚会长高 1 厘米,而其余时间不会长高。
在第一天的早晨,所有灌木的高度都是 0 厘米。爱丽丝想知道每棵灌木最高长到多高。

输入格式:

一个正整数N ,含义如题面所述。
30%的测试数据:1<N≤10;
100%的测试数据:1<N≤10000。

输出格式:

输出 N 行,每行一个整数,第 i 行表示从左到右第 i 棵树最高能长到多高。

输入样例

3

输出样例

4
2
4

先上代码

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int c;
	for(int i=1;i<=n;i++)
	{
		if(i-1>=n-i)
		c=i-1;
		else
		c=n-i;
		printf("%d\n",c*2);
	}
	return 0;
}

这道题你其实可以找一下规律,发现,这颗树木能长到的最大高度,就是它的那边树越多,那么修剪的时间越长,那么它就长的越高,所以就比较左边和右边那边的树越多,同时也要注意边界条件,为啥是i-1,是要减去本身要么它就要大一了

x进制减法

题目链接:P2035 - [蓝桥杯2022初赛] X进制减法 - New Online Judge

题意:

进制规定了数字在数位上逢几进一。
X 进制是一种很神奇的进制,因为其每一数位的进制并不固定!
例如说某种X 进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制:
则 X 进制数321 转换为十进制数为65。65=3*(2*10)+2*(2)+1*(1)。
现在有两个 X 进制表示的整数 A 和 B,但是其具体每一数位的进制还不确定。
只知道 A 和 B 是同一进制规则,且每一数位最高为 N 进制,最低为二进制。
请你算出 A − B 的结果最小可能是多少。
请注意,你需要保证 A 和 B 在 X 进制下都是合法的,即每一数位上的数字要小于其进制。

输入格式

第一行一个正整数 N,含义如题面所述。
第二行一个正整数 Ma,表示 X 进制数 A 的位数。
第三行 Ma 个用空格分开的整数,表示 X 进制数 A 按从高位到低位顺序各个数位上的数字在十进制下的表示。
第四行一个正整数 Mb,表示 X 进制数 B 的位数。
第五行 Mb 个用空格分开的整数,表示 X 进制数 B 按从高位到低位顺序各个数位上的数字在十进制下的表示。
请注意,输入中的所有数字都是十进制的。
30%的测试数据:2≤N≤10,1≤Ma,Mb≤8。
100%的测试数据:2≤N≤1000,1≤Ma,Mb≤100000,B≤A。

输出格式

输出一行一个整数,表示X 进制数A − B 的结果的最小可能值转换为十进制后再模1000000007 的结果。

输入样例

11
3
10 4 0
3
1 2 0

输出样例

94

按照题目意思,A,B每一位的值的进制都是一样的,而A的值又大于B的值,所以它们每一位要取最小进制,那个最小进制就是他们之中最大值去加一

上代码

#include<stdio.h>
long long n,m1,m2,a[100005],b[100005];
int max(int a,int b)
{
	if(a>=b)
	return a;
	else
	return b;
}
int main()
{
	scanf("%lld",&n);
	scanf("%lld",&m1);
	for(int i=m1-1;i>=0;i--)
	scanf("%lld",&a[i]);
	scanf("%lld",&m2);
	for(int j=m2-1;j>=0;j--)
	{
		scanf("%lld",&b[j]);
	}
	long long w=0,base=1,m=0;
	for(long long i=0;i<m1;i++)
	{
		w=max(max(a[i],b[i])+1,2);
		m=(m+(a[i]-b[i])*base)%1000000007;
		base=(w*base)%1000000007;
	}
	printf("%lld",m);
  return 0;
}

同时进行相加以及进制的求取时,一定要每次对1000000007进行取余,避免越界;

相关推荐

  1. 2022c求和

    2024-04-10 11:32:04       49 阅读
  2. 2023第十四届C++B题目解析

    2024-04-10 11:32:04       20 阅读
  3. C/C++A省赛历年真题题解2020~2023

    2024-04-10 11:32:04       13 阅读
  4. 2023年C++语言B的三道题解题解整合】

    2024-04-10 11:32:04       15 阅读
  5. 2023第十四届省赛C/C++大学A题解

    2024-04-10 11:32:04       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 11:32:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 11:32:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 11:32:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 11:32:04       20 阅读

热门阅读

  1. python——运算符

    2024-04-10 11:32:04       10 阅读
  2. 开发环境解决跨域问题

    2024-04-10 11:32:04       12 阅读
  3. MyBatis如何实现分页

    2024-04-10 11:32:04       13 阅读
  4. Http Download

    2024-04-10 11:32:04       12 阅读
  5. 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(3)

    2024-04-10 11:32:04       13 阅读
  6. conda activate xxx-env出现错误CommandNotFoundError

    2024-04-10 11:32:04       10 阅读
  7. 2024年注册安全工程师考试真题及答案1

    2024-04-10 11:32:04       13 阅读
  8. Rust - 数据类型

    2024-04-10 11:32:04       13 阅读