2023 CSP 题目大意还原(2月4号考的)

文章介绍了2023年CSP比赛中的四道题目,包括每道题目的大致内容、输入和输出格式、样例以及数据范围。对于每道题,作者给出了解题思路,例如T1题通过分析九宫格键盘输入英文的规律计算最少点击次数,T2题涉及处理药材的问题,寻找特定长度的区间更新药材状态,T3题是一个小球在方阵中滚动的问题,探讨到达终点的可能性。
摘要由CSDN通过智能技术生成

2023 CSP 题目大意还原(2月4号)

一些没用的话

首先,这次是我第一次正式机试,然后太高兴了就把题目名称全忘了
只记得题目没有意料中的难

T1 (呃…具体名字忘了)

题目大意

打开手机微信,随便找个人点击输入框,即可看见九宫格
这是我随便找的图片
小豫豫要用英文写日记
ta打算用九宫格输入
比如

输入 a a a,就要按 1 1 1下数字2键
输入 c c c,就要按 3 3 3下数字2键
输入 h h h,就要按 2 2 2下数字4键
输入 s s s,就要按 4 4 4下数字7键

怎么样,规律都找到了吧,那就不说了

输入格式

第一行一个整数 n ( n ≤ 100 ) n(n\le100) n(n100)数据范围好像是 100 100 100
接下来 n n n行,每行一个字符串,表示单词 w o r d i word_i wordi

输出格式

一行一个整数表示最少的点击次数

提示

众知所周,输入英文要有空格,所以答案要加上 n − 1 n-1 n1

样例

样例输入1
1
a
样例输出1
1

提示:按1次1键即可

样例输入2
2
sa
a
样例输出2
7

提示:按4次7键和1次1键和1次空格和1次1键即可,共7次

数据范围与约束

怎么办我忘了,但不用担心,范围很小
所有字母均为小写字母,且每行的单词中不存在空格

思路

这题很简单
可以用26个if语句
也可以用数组,map和其他方式存储次数
最后再加上 n − 1 n-1 n1即可

#include <bits/stdc++.h>
using namespace std;
int read(){
   
	int x;
	scanf("%d",&x);
	return x;
}
int n,ans;
string s;
map<char,int>m;
int main(){
   
	m['a']=1,m['d']=1,m['g']=1,m['j']=1,m['m']=1,m['p']=1,m['t']=1,m['w']=1,
	m['b']=2,m['e']=2,m['h']=2,m['k']=2,m['n']=2,m['q']=2,m['u']=2,m['x']=2,
	m['c']=3,m['f']=3,m['i']=3,m['l']=3,m['o']=3,m['r']=3,m['v']=3,m['y']=3,
	m['s']=4,m['z']=4;
	n=read();
	for(int i=1;i<=n;i++){
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值