博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3438 Look and Say(我的水题之路——N个M的队列)
阅读量:4068 次
发布时间:2019-05-25

本文共 1897 字,大约阅读时间需要 6 分钟。

Look and Say
Time Limit: 5000MS   Memory Limit: 65536K
Total Submissions: 7678   Accepted: 4638

Description

The look and say sequence is defined as follows. Start with any string of digits as the first element in the sequence. Each subsequent element is defined from the previous one by "verbally" describing the previous element. For example, the string 122344111 can be described as "one 1, two 2's, one 3, two 4's, three 1's". Therefore, the element that comes after 122344111 in the sequence is 1122132431. Similarly, the string 101 comes after 1111111111. Notice that it is generally not possible to uniquely identify the previous element of a particular element. For example, a string of 112213243 1's also yields 1122132431 as the next element.

Input

The input consists of a number of cases. The first line gives the number of cases to follow. Each case consists of a line of up to 1000 digits.

Output

For each test case, print the string that follows the given string.

Sample Input

3122344111111111111112345

Sample Output

11221324311011112131415

Source

和1016题意一样,而且更简单。
题目要求将数n按一定规则进行转换,比如:1231560,这个数字中有1个0、2个1、1个2、1个3、1个5、1个6,则,其转换后的下一个数字为102112131516。
直接读取当前数字id,并同时计算个数num,当读取的数字和id不相同,则输出id和num,再将当前数字保存到id,知道字符串读取完成。
注意点:
1)末尾的id和num,可能忘记输出,造成错误。
代码(1AC):
#include 
#include
#include
char str[1100];int main(void){ int ii, casenum; int len, num, id; int i, j; char last; scanf("%d", &casenum); getchar(); for (ii = 0; ii < casenum; ii++){ scanf("%s", str); len = strlen(str); for (i = 1, id = (str[0] - '0'), num = 1; i < len ; i++){ if (str[i] - '0' == id){ num++; } else{ printf("%d%d", num, id); id = str[i] - '0'; num = 1; } } printf("%d%d", num, id); printf("\n"); } return 0;}

转载地址:http://eloji.baihongyu.com/

你可能感兴趣的文章
QT打开项目提示no valid settings file could be found
查看>>
android 代码实现圆角
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
Visual Studio 2010:C++0x新特性
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
Encoding Schemes
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Java8 HashMap集合解析
查看>>
自定义 select 下拉框 多选插件
查看>>
gdb 调试core dump
查看>>
gdb debug tips
查看>>