C++新手入门题 第二期

目录

前文

前言

1.B2094 不与最大数相同的数字之和

B2094 不与最大数相同的数字之和

题目描述

输入格式

输出格式

思路:

2.B3661 [语言月赛202209] 排排队

题目描述

输入格式

输出格式

思路:

代码

3.B3678 [语言月赛202211] Gold-Purple-Blue-Green-White

题目背景

题目描述

输入格式

输出格式

思路:

代码:


前文

第一期

前言

还是老样子,今天我带来了一些新手入门题,基本上都是些入门普及-的,考语法较多,涉及一些基础数学,但与第一期不同的是,这次涉及到了sort,数组,循环等,并配置了思路与代码,如果有错误,请大佬多多指正!

1.B2094 不与最大数相同的数字之和

B2094 不与最大数相同的数字之和

题目描述

输出一个整数数列中不与最大数相同的数字之和。

输入格式

输入分为两行:

第一行为 N(N 为接下来数的个数,N≤100);

第二行为 N 个整数,数与数之间以一个空格分开,每个整数的范围是 −1000,000 到 1000,000。

输出格式

输出为 N 个数中除去最大数其余数字之和。

思路:

用sort排序一遍,用maxn储存最大值,接着遍历数组,如果a[i]\neq maxn,则累加在sum里,最后输出即可

代码

#include//sort要用algorithm,在这为了节约行数,就写万能头了
using namespace std;
int main(){
    long long n,a[100000];//不开long long见祖宗
    cin>>n;
    for(int i=0;i>a[i];
    }
    sort(a,a+n);//不会的可以看教学资料
    long long sum=0;
    for(int i=0;i

2.B3661 [语言月赛202209] 排排队

B3661 [语言月赛202209] 排排队

题目描述

幼儿园里有 n 个小朋友,每个小朋友有一个学号。

老师要求:学号是奇数的小朋友站一排,学号是偶数的小朋友站一排。

提示

奇数:个位为 1,3,5,7,9 的数字,满足除以 2 的余数为 1。

偶数:个位为 0,2,4,6,8 的数字,满足除以 2 的余数为 0。

输入格式

共两行,第一行一个数字 n,表示有 n 个小朋友。

第二行共 n 个数字,其中第 i 个数字 ai​ 表示第 i 个小朋友的学号。

输出格式

共两行,第一行一些数字,表示学号为奇数的小朋友的学号,按照输入的顺序输出。即,如果一个数字输入的时候在前,那么输出的时候也应当在前。

第二行一些数字,表示学号为偶数的小朋友的学号,按照输入的顺序输出。

保证小朋友的学号既有奇数,又有偶数。

思路:

不想说了,就直接两个数组存奇偶数,最后输出即可

代码

#include
using namespace std;
int main()
{
	int n,a[100010],o[100010]={0},j[100010]={0};
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(a[i]%2==1){
			j[i]+=a[i];
		}else{
			o[i]+=a[i];
		}
	}
	for(int i=1;i<=n;i++){
		if(j[i]!=0){
			cout<

3.B3678 [语言月赛202211] Gold-Purple-Blue-Green-White

B3678 [语言月赛202211] Gold-Purple-Blue-Green-White

题目背景

扶苏在玩一款名叫第五暖暖的游戏。

题目描述

扶苏在游戏中的角色有一个被称为「精神力」的属性,初始时,这一属性为 x0​。

扶苏的仓库里有 n 件挂件,对于第 i 件挂件,只有当人物的精神力不低于 ai​ 时才能装备该挂件,装备该挂件后,人物的精神力会增加 bi​。

现在,扶苏希望按照从 1 到 n 的顺序依次尝试装备每件挂件。策略是:当尝试装备某件挂件时,如果满足装备该挂件的条件(也就是人物的精神力不低于 ai​),则装备该挂件(此时人物的精神力会增加 bi​);否则不装备该挂件,以后也不再考虑该挂件。

请你求出,扶苏一共装备了几件挂件。

输入格式

第一行是两个整数,表示挂件数量 n 和初始的精神力 x0​。
第二行有 n 个整数,第 i 个整数表示装备挂件 i 最少需要的精神力值 ai​。
第三行有 n 个整数,第 i 个整数表示装备挂件 i 后增加的精神力值 bi​。

输出格式

输出一行一个整数,表示扶苏装备的挂件数量。

思路:

这题比以前的几题略难一些,需要循环判断是否能佩戴挂件(x0>=ai),如果行的话,挂件数量++,并且xi+=bi,最后输出挂件数即可。

代码:

#include
using namespace std;
int main(){
	long long n,sum,a[100000],b[100000],s=0;//s要清0
	cin>>n>>sum;
	for(int i=0;i>a[i];
	}
	for(int i=0;i>b[i];
	}//输入
	for(int i=0;i=a[i]){//如果可以佩戴
			s++;
			sum+=b[i];
		}
	}
	cout<

*以下题目皆是在洛谷有的,推荐大家可以注册一个洛谷账号

C++新手入门题 第二期_第1张图片

ok,今天的新手题就先到这了,Goodbye!

 

你可能感兴趣的:(c++,算法,数据结构)