2023 CSP 题目大意还原(2月4号)
CSP-J
一些没用的话
首先,这次是我第一次正式机试,然后太高兴了就把题目名称全忘了
只记得题目没有意料中的难
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(n≤100)数据范围好像是 100 100 100吧
接下来 n n n行,每行一个字符串,表示单词 w o r d i word_i wordi
输出格式
一行一个整数表示最少的点击次数
提示
众知所周,输入英文要有空格,所以答案要加上 n − 1 n-1 n−1
样例
样例输入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 n−1即可
#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++){