首页 > 移动平台 > 详细

P1765 手机_NOI导刊2010普及(10)

时间:2018-06-04 15:59:06      阅读:230      评论:0      收藏:0      [点我收藏+]

https://www.luogu.org/problemnew/show/P1765

题目描述

一般的手机的键盘是这样的:

1 2 abc 3 def

4 ghi 5 jkl 6 mno

7 pqrs 8 tuv 9 wxyz

* 0 #

要按出英文字母就必须要按数字键多下。例如要按出x就得按9两下,第一下会出w,而第二下会把w变成x。0键按一下会出一个空格。

你的任务是读取若干句只包含英文小写字母和空格的句子,求出要在手机上打出这个句子至少需要按多少下键盘。

输入输出格式

输入格式:

 

一行一个句子,只包含英文小写字母和空格,且不超过200个字符。

 

输出格式:

 

一行一个整数,表示按键盘的总次数。


 

我的思路:用一个数组存储所有字母按键的情况,然后每一个字母对应一个下标;

 

本来在本地能得到正确结果,可提交后全部WA了,后来讨论区里说,不能直接写else, 还有\n 和\r;

确实对字符串,以及读字符串的函数还没掌握好;

 

1,(\r, \n, \t)

  \r : 回车,使光标移动到该行行首;

  \n: 换行,使光标移动到下一行(不会回到行首);

  \t:TAB;

2,各种读入字符串的函数:

  1,cin : 读到空格结束,不会读入空格;

  2,gets_s :  读入一行,遇到换行结束,不读入换行符;

  3,cin.get:可读入一个字符,或者一行,遇到换行结束,但是不会将\n从缓冲区里删除;

  4,cin.getline:读入一行,遇到换行结束,并且会将\n从缓冲区里删除;(所以目前自己一般用这个吧);

   

P1765 手机_NOI导刊2010普及(10)

原文:https://www.cnblogs.com/charlieli/p/9127078.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!