蓝桥杯打卡第20天(2.23)

0ms 2023-02-23 22:56:26

1.题目描述

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

输入描述

第 1 行为 1 个正整数,表示所生成的随机数的个数N。

第 2 行有 N 个用空格隔开的正整数,为所产生的随机数。

输出描述

输出 2 行,第 1 行为 1 个正整数 M,表示不相同的随机数的个数。

第 2 行为 M 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

输入输出样例

示例 1

输入

10
20 40 32 67 40 20 89 300 400 15

 

输出

8
15 20 32 40 67 89 300 400

 

#include<iostream>
using namespace std;
int main()
{
	int a[1001]={0};
	int n,x;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>x;
	    a[x]=1; 
	}
	n=0;
	for(int i=1;i<=1000;i++)
	{
		if(a[i]==1) n++;
	}
	cout<<n<<endl;
	for(int i=1;i<=1000;i++)
	{
		if(a[i]==1) cout<<i<<" ";
	}
	return 0;
} 

2.题目描述

给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。

元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。

输入描述

输入格式:

输入一行,包含一个单词,单词中只包含小写英文字母。单词中的字母个数不超过 100。

输出描述

输出两行,第一行包含一个整数,表示元音字母的数量。

第二行包含一个整数,表示辅音字母的数量。

输入输出样例

示例

输入

lanqiao

 

输出

4
3

代码:

#include<stdio.h>
#include<string.h>
int main() {
	char a[105];
	int p = 0, y = 0;
	gets(a);
	for (int i = 0; i < strlen(a); i++) {
		if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i' || a[i] == 'o' || a[i] == 'u'  )
			y++;
		else p++;



	}
	printf("%d\n%d", y, p);
	return 0;
}

3.输出描述

输出第一行包含一个整数,表示结果是几点。

第二行包含一个整数,表示结果是几分。

输入输出样例

示例 1

输入

3
20
165

 

输出

6
5

 代码:

#include<stdio.h>
int main() {
	int a, b, t, s;
	scanf("%d\n%d\n%d", &a, &b, &t);
	if (a >= 0 && a <= 23) {
		s = b + t;
		b = s % 60;
		if (s >= 60) {
			s /= 60;
			a += s;
		}
	}
	printf("%d\n%d", a, b);
	return 0;

}

上面的题都挺有意思,很easy!!!

4.题目描述

给定三个整数数组

A = [A_1, A_2, \cdots A_N]A=[A1​,A2​,⋯AN​],

B = [B_1, B_2, \cdots B_N]B=[B1​,B2​,⋯BN​],

C = [C_1, C_2, \cdots C_N]C=[C1​,C2​,⋯CN​],

请你统计有多少个三元组 (i, j, k)(i,j,k) 满足:

  1. 1 \leq i, j, k \leq N1≤i,j,k≤N;

  2. A_i < B_j < C_kAi​<Bj​<Ck​。

输入描述

第一行包含一个整数 NN。

第二行包含 NN 个整数 A_1, A_2, \cdots A_NA1​,A2​,⋯AN​。

第三行包含 NN 个整数 B_1, B_2, \cdots B_NB1​,B2​,⋯BN​。

第四行包含 NN 个整数 C_1, C_2, \cdots C_NC1​,C2​,⋯CN​。

其中,1 \leq N \leq 10^5, 0 \leq Ai, Bi, Ci \leq 10^51≤N≤105,0≤Ai,Bi,Ci≤105。

输出描述

输出一个整数表示答案。

输入输出样例

示例

输入

3
1 1 1
2 2 2
3 3 3

 

输出

27

 代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string.h>
#define ll  long long
const int maxn = 100010;
using namespace std;
int main() {
	int a[maxn], b[maxn], c[maxn];
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) cin >> a[i];
	for (int i = 0; i < n; i++) cin >> b[i];
	for (int i = 0; i < n; i++) cin >> c[i];
	sort(a, a + n), sort(b, b + n), sort(c, c + n);
	ll sum=0; 
	for (int i = 0; i < n; i++) {
		ll x = lower_bound(a, a + n, b[i]) - a;
		ll y = n-(upper_bound(c, c + n, b[i]) - c);
		sum += x * y;
	}
	cout << sum ;
	return 0;
}

5.AcWing 3777. 砖块(每日一题)

n个砖块排成一排,从左到右编号依次为 1∼n。

每个砖块要么是黑色的,要么是白色的。

现在你可以进行以下操作若干次(可以是 0 次):

选择两个相邻的砖块,反转它们的颜色。(黑变白,白变黑)

你的目标是通过不超过 3n 次操作,将所有砖块的颜色变得一致。

输入格式

第一行包含整数 T,表示共有 T 组测试数据。

每组数据第一行包含一个整数 nn。

第二行包含一个长度为 n 的字符串 s。其中的每个字符都是 W 或 B,如果第 ii 个字符是 W,则表示第 ii 号砖块是白色的,如果第 ii 个字符是 B,则表示第 ii 个砖块是黑色的。

输出格式

每组数据,如果无解则输出一行 −1。

否则,首先输出一行 kk,表示需要的操作次数。

如果 k>0,则还需再输出一行 kk 个整数,p1,p2,…,pk。其中 pipi 表示第 i 次操作,选中的砖块为 pi和 pi+1 号砖块。

如果方案不唯一,则输出任意合理方案即可。

数据范围

1≤T≤10,
2≤n≤200。

输入样例:

4
8
BWWWWWWB
4
BWBB
5
WWWWW
3
BWB

输出样例:

3
6 2 4
-1
0
2
2 1
难度:简单
时/空限制:1s / 64MB
总通过数:4548
总尝试数:8192
来源:CF1271B
算法标签

代码:

#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
int n;
string str;
void update(char& c) {
	if (c == 'W') c = 'B';
	else c = 'W';
}
bool check(char c) {
	vector<int > res;
	string s = str;
	for (int i = 0; i + 1 < n; i++)

		if (s[i] != c) {
			update(s[i]);
			update(s[i + 1]);
			res.push_back(i);
		}
	if (s.back() != c) return false;
	cout << res.size() << endl;
	for (int x : res) cout << x + 1 << ' ';
	if (res.size()) cout << endl;
	return true;
}
int main()

{
	int T;
	cin >> T;
	while (T--) {
		cin >> n >> str;
		if (!check('B') && !check('W')) puts("-1");
	}
	return 0;
}



总结:生活不在别处,当下即是全部!!!

...全文
13 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

30,230

社区成员

发帖
与我相关
我的任务
社区描述
打造最热爱学习的高校社区,帮助大家提升计算机领域知识,带大家打比赛拿奖,提高自我,希望大家共同创造良好的社区氛围。
社区管理员
  • 川川菜鸟
  • 亡心灵
  • 星辰菜鸟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

监督大家学习,每日学习打卡,以投稿形式打卡。扫码关注公众号,可加入粉丝群和领取大量资源。

试试用AI创作助手写篇文章吧