NYOJ - 发短信

NYOJ - 小明的调查作业 小明的调查作业 时间限制:1000 ms  |           内存限制:65535 KB 难度:1 描述 小明的老师布置了一份调查作业,小明想在学校中请一些同学一起做一项问卷调查,聪明的小明为了实验的客观性,想利用自己的计算机知识帮助自己。他先用计算机生成了N个1到1000之间的随机整数(0 输入输入有2行,第1行为1个正整数,表示所生成的随机数的个数: N 第2行有N个 阅读详情

发短信

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述
下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只
需要按一次数字键2,按键顺序记为2;如果要输入字母'B'的话,我们需要连续按两次数字键2,按键顺序记为22;同理:字母'C’需要连续按3次数字键2,按键顺序记为222。通过这种方法,我们用手机10多个键就能输入26个英文字母。
现在你的任务是统计一段英文用手机输入的按键顺序,同样,你也要能把按键顺序翻译成相应的英文内容。
为了使问题简化,我们假设内容只有大写英文字母和空格。

输入
有多组测试数据
每组测试数据占一行,有两种情况:
(1)短信内容(只含有若干个空格和大写字母,不超过1000个字符)
(2)短信按键顺序(只含有若干空格和数字,其中第一个肯定是数字,不超过1000个字符)
输出
对于每组测试数据:
如果是短信内容,输出每个字母的按键顺序,每个字母的按键顺序用空格隔开
如果是按键顺序,输出它代表的内容
样例输入
I LOVE YOU
HELLO WORLD
444 0 555 666 888 33 0 999 666 88
44 33 555 555 666 0 9 666 777 555 3
样例输出
444 0 555 666 888 33 0 999 666 88
44 33 555 555 666 0 9 666 777 555 3
I LOVE YOU
HELLO WORLD

这题有点坑啊!要注意输入数据,还有各种细节的处理,有点繁琐哦!最主要一点,当输入字母的时候,字符串首位可能有多个空格啊!这题已经AC了,下面是具体的AC代码:

#include <stdio.h>
#include <string.h>

const int sz[26] = {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};
void WordToNumber(char s[])
{
	for(int i = 0; s[i] != '\0'; i++)
	{
		if(s[i] == ' ')
		{
			printf("0 ");
		}
		else
		{
			printf("%d ",sz[s[i] - 'A']);
		}
	
	}
	printf("\n");
}
void NumberToWord(char s[])
{
	for(int i = 0; s[i] != '\0'; ++i)
	{
		if(s[i] == '0')
		{
			printf(" ");
			continue;
		}
		int k = 0;
		while(s[i] != ' '&&s[i] != '\0')
		{
			k = k*10+s[i]-'0';
			++i;
		}
		for(int j = 0; j < 26; j++)
		{
			if(k == sz[j])
				printf("%c",'A'+j);
		}
	}
	printf("\n");
}
int main(int argc, char const *argv[])
{
	char s[1010];
	while(gets(s) != NULL)
	{
		if('0'<=s[0]&&s[0]<='9')
		NumberToWord(s);
		else
		WordToNumber(s);
	}
	return 0;
}

6D位姿估计系列(一) 本研究提出FoundationPose,一个统一的基础模型框架,支持基于CAD模型和无模型的6D物体姿态估计与跟踪。通过神经隐式表示实现高效新视图合成,结合大规模合成数据训练和对比学习策略,模型展现出强大的泛化能力。实验表明,该方法在LINEMOD、YCB-Video等多个基准数据集上显著优于现有专门化方法,处理速度达32Hz,且无需目标域微调。该工作为多场景物体姿态估计提供了通用解决方案。 阅读详情

相关推荐

量化实战:如何用Barra多因子模型给你的投资组合做一次‘风险体检’?

本文详细介绍了如何利用Barra多因子模型对投资组合进行全面的风险体检,帮助投资者识别行业和风格因子的风险暴露。通过实战案例和Python代码示例,展示了数据采集、风险归因和组合优化的完整流程,提升投资组合的风险调整收益。

weixin_27215337的博客 323

ny643 发短信 stl库 map函数

发短信         时间限制:1000 ms  |            内存限制:65535 KB         难度:3          描述        下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只 需要按一次数字键2,按键顺序记为2;如果要输入字母'B'的话,我们需要连续按两次数字键2,按键顺序记为22;同理:字母'C’需要连续按3次数字...

weixin_34237596的博客 141

大华摄像头GB28181协议接入EasyCVR全流程(附常见错误排查)

本文详细阐述了大华摄像头通过GB28181协议接入EasyCVR视频管理平台的全流程,涵盖从核心原理、前期参数规划、Web界面配置到平台侧验证的完整步骤。重点针对网络端口、SIP参数配置等关键环节提供了深度排错指南,并总结了设备无法注册、在线不稳定、拉流失败等常见问题的排查思路与解决方案,旨在帮助安防工程师与系统集成商高效完成设备接入与调试。

weixin_29279153的博客 307

gnokii发短信,使用配置

http://blog.chinaunix.net/uid-677314-id-2600051.html在windows 系统 C:\Documents and Settings\Administrator\_gnokiirc++++++++++++++++++++++++++++++++++++++++下面在Linux 系统下载gnokii安装,将配置文件拷贝到/etc下,按如下配置:####

张同光 (Tongguang Zhang):Hello everyone ! 1858

Arcmap计算土方量教程

1. 创建现状TIN 结果数据: 2. 创建设计TIN 结果数据: 注意:现状TIN和设计TIN构建时候的坐标系不同,设置坐标系见最后的注意事项第1点,就是import(导入)那步骤,现状TIN构建时选择高程点数据或者等高线数据,设计TIN构建时候选择洱海面数据 3. TIN转栅格 改成你要存的数据库,注意中间不要有汉字 结果数据(设计TIN转栅格的同理) 4. 裁剪现状TIN转成的栅格 结果数据: 5. 计算土方量 结果数据: ...

欢迎关注,共同进步! 5014

Qt5+Ros+GUI界面

在之前建立的工程的基础上添加一个gui界面。 在ros包中新建一个文件夹,名字叫gui 右击gui文件夹添加一个文件,选择Qt->Qt设计师界面类 选择MainWindow 选择下一步 最后在gui中生成三个文件 mainwindow.cpp、mainwindow.h、mainwindow.ui 但此时,这些新创建的文件和原本的ros工程还没建立任何关系,只是目录下多出了几个文件而已...

二毛的博客 8843

(line = in.readLine() )!= null 注意事项

(line = in.readLine() )!= null那么我们用while((str = reader.readLine()) != null)进行读取呢,readLine是一个阻塞的方法,只要没有断开连接,就会一直等待,直到有东西返回,那么什么时候返回空呢,只有读到数据流最末尾,才返回null ,举例如,一般只有在读到文件末尾时才会是空,至于读取服务器端的数据,一般不会是空,那么有时候我

奇妙能力倩 1万+

基于YOLOv10的微小目标检测,多头检测器提升小目标检测精度

引入多头检测器助力YOLOv10,暴力提升小目标检测性能

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2569

发短信_NYOJ_643

手机键盘字符数字对应

繁华过后你还有我 1310

Android框架WiFi架构

动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_spplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调试来对wifi芯片操作,简单的说,二、android wifi 系统架构:andtoid wifi 系统引入了wpa_supplicant,它的整个wifi系统。

手机-手表蓝牙开发工程师的博客 3459

RK3568平台(camera篇) mipi csi接口

MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟。MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。MIPI是差分串口传输,速度快,抗干扰。主流手机模组现在都是用MIPI传输,传输时使用4对差分信号传输图像数据和一对差分时钟信号;MIPI摄像头有三个电源:VDDIO(IO电源),AVDD(模拟电源),DVDD(内核数字电源),不同sensor模组的摄像头供电不同。

weixin_49303682的博客 5345

NYOJ 643 发短信

NYOJ 643 发短信

倚世独殇 981

【技能】OpenClaw Skills学习及手搓一个极简skill

本文介绍了OpenClaw Skills的基础概念与使用方法。Skills是OpenClaw代理使用工具的核心载体,通过SKILL.md文件定义技能属性和执行方式。技能加载遵循"工作区>本地>内置>自定义目录"的优先级规则。用户可通过ClawHub一键安装现成技能,也可自定义开发技能:创建技能目录,编写包含YAML元数据和执行指令的SKILL.md文件,放置于工作区skills目录进行测试。文章还介绍了多代理场景下的技能共享、插件集成以及安全注意事项,包括沙箱使用和敏感

海兰 3975

NYOJ 643 发短信(模拟)

发短信 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只 需要按一次数字键2,按键顺序记为2;如果要输入字母'B'的话,我们需要连续按两次数字键2,按键顺序记为22;同理:字母'C’需要连续按3次数字键2,按键顺序记为222。通过这种方法,我们用手机10多个键就能输入26个英

一只叫做Unix的猫 750

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

NYOJ 643 发短信 暴力求解

发短信 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只 需要按一次数字键2,按键顺序记为2;如果要输入字母'B'的话,我们需要连续按两次数字键2,按键顺序记为22;同理:字母'C’需要连续按3次数字键2,按键顺序记为222。通过这种方法,我们用手机10多个键就能输入26个英

LYHVOYAGE的专栏 1515

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

nyoj-643-发短信

#include #include int a[27]={0,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}; char b[1005]; int main() {     int i,t,j;     while(gets(b)!=NULL)     {    

u011514451的专栏 682

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

手机键盘(简单模拟)

题目描述 清华大学研究生复试机试真题 按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在“1”键上,输入a只需要按一次,输入c需要连续按三次。 如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下 如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如ac,在按了a之后,需要等一会儿才能按c。 现在假设每按一次需要花费一个时间段,等待时间需要花...

eck_燃的博客 2214

java实现鸡兔同笼问题

《孙子算经》中记载了这样一道题目:今有稚兔同笼,上有三十五头,下有九十四足,问鸡兔各几只?分析:假设鸡数量为i 兔数量为j 因为头共有三十五头 所以鸡得数量有0&lt;=i&lt;=35 那么兔就有j=35-i只因为共有九十四足 鸡有两条腿兔有四条腿 所以得到2*i+4*j=94 根据以上信息 开始编程public class JiTu { public static void main(Stri...

sj_1993的博客 3万+

Java解决if(!=null)臭名昭著的判空处理(Optional)

原文链接:Java解决if(!=null)臭名昭著的判空处理(Optional) ???????? 话不多说,我们先来看一下下面这个代码: /** * 场景一: * 获得实体对象的某个值 */ private String getDemoEntityDeName1(DemoEntity demoEntity) { if (demoEntity != null) { DemoEn...

木子de小屋屋啦啦啦 1万+

判断字符串非空if(str!=null && str!=""){}

熟手判断字符串非空一般都会做两次判断: if(str.length()==0 && str==""){} 为什么要这么麻烦呢? 相信大家都遇到过空指针报错的情况 类似于:Null pointer关键字 而如上语句就可以杜绝这个情况 因为 机器在执行代码遵循自上而下,从左至右的顺序 当虚拟机执行到“str.length()==0”后遇到“&&”操作符就会省去判断“str==""”语句

只有我活在终端的博客 5284

NYOJ - A Famous Music Composer

A Famous Music Composer 时间限制:1000 ms  |           内存限制:65535 KB 难度:1 描述 Mr. B is a famous music composer. One of his most famous work was his set of preludes. These 24 pieces span the 24 musica

SevenMIT的专栏 4369

NYOJ - 超级台阶

超级台阶 时间限制:1000 ms  |           内存限制:65535 KB 难度:3 描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规定从一级到一级有0种走法。 输入输入数据首先包含一个整数n(1输出对于每个测试实例,请输出不同走法的数量。样例输入 2 2 3 样例输出 1 2 #include

SevenMIT的专栏 2782

NYOJ - 字符串逆序输出

字符串逆序输出 时间限制:3000 ms  |           内存限制:65535 KB 难度:0 描述 给定一行字符,逆序输出此行(空格.数字不输出) 输入第一行是一个整数N(N 每组测试数据占一行,每行数据中间有且只有一个空格(这样你可以把此行当成两个字符串读取)。 每行字符长度不超过40 并且保证输入的字符只有空格(1个),数字,小写字母三种输出对应每行测试数据,

SevenMIT的专栏 1884

NYOJ - ASCLL码排序

描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。 输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入 3 qwe asd zxc 样例输出 e q w a d s c x z #include using n

SevenMIT的专栏 1630
上一篇: NYOJ - 最长回文子串
下一篇: NYOJ - 蚂蚁的难题(二)(dp)
SevenMIT
博客等级 码龄15年 60粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值