周赛E-诺基亚(easy version)
诺基亚(easy version)
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 256MB,其他语言 512MB
内存限制:C/C++ 256MB,其他语言 512MB
描述
今天小c学长买盲盒中了一个诺基亚,于是他对着这诺基亚研究了起来,他突发奇想想到了一种玩法。我们都知道诺基亚的一个按键可以按出多个字母,于是小c学长规定一个按键上的第几个字母就需要按几次那个数字才能出现(例如2上的字母有a,b,c,我们要a就要按1次2,b要按2次2,c要按3次2)。
现在小c学长给你一个字符串(全部由小写字母构成),问这个字符串是怎么被按出来的。
输入描述
一个整数t,代表有t组样例
每组样例第一行一个n,代表字符串长度
第二行n个字符,代表小c给出的字符串
(保证所有的n加起来不超过1e5)
输出描述
每组样例输出一行由数字构成的字符串,表示按键方法
用例输入 1
2 3 abc 3 aaa
用例输出 1
222222 222
无脑直接过
python直接打表,放弃思考类型:
ls = {"a": 2, "b": 22, "c": 222, "d": 3, "e": 33, "f": 333, "g": 4, "h": 44, "i": 444, "j": 5, "k": 55, "l": 555, "m": 6, "n": 66, "o": 666, "p": 7, "q": 77, "r": 777, "s": 7777, "t": 8, "u": 88, "v": 888, "w": 9, "x": 99, "y": 999, "z": 9999} n=int(input()) for i in range(n): m=int(input()) lis=input() for j in range(m): print(str(ls[lis[j]]),end='') print()
C++代码:
#include<bits/stdc++.h> using namespace std; int main(){ int t; cin>>t; while(t--){ int n; cin>>n; string str; cin>>str; int aa[30]={2,22,222,3,33,333,4,44,444,5,55,555,6,66,666,7,77,777,7777,8,88,888,9,99,999,9999}; for(int i=0;i<str.length();i++) cout<<aa[str[i]-'a']; cout<<endl; } return 0; }
主要还是为了下一个hard version做铺垫。。。。。。。东软学子加油吧
分类:
周赛(第三周)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理