PAT-2017年冬季考试-甲级-7-1 1140 Look-and-say Sequence (20分)

待我称王封你为后i 2023-02-22 07:41 145阅读 0赞

1140 Look-and-say Sequence (20分)
Look-and-say sequence is a sequence of integers as the following:

  1. D, D1, D111, D113, D11231, D112213111, ...

where D is in [0, 9] except 1. The (n+1)st number is a kind of description of the nth number. For example, the 2nd number means that there is one D in the 1st number, and hence it is D1; the 2nd number consists of one D (corresponding to D1) and one 1 (corresponding to 11), therefore the 3rd number is D111; or since the 4th number is D113, it consists of one D, two 1’s, and one 3, so the next number must be D11231. This definition works for D = 1 as well. Now you are supposed to calculate the Nth number in a look-and-say sequence of a given digit D.

Input Specification:
Each input file contains one test case, which gives D (in [0, 9]) and a positive integer N (≤ 40), separated by a space.

Output Specification:
Print in a line the Nth number in a look-and-say sequence of D.

Sample Input:

  1. 1 8

Sample Output:

  1. 1123123111

AC代码:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. string s;
  5. int n,j;
  6. cin>>s>>n;
  7. for(int cnt=1;cnt<n;cnt++){
  8. string t;
  9. for(int i=0;i<s.length();i=j){
  10. for( j=i;j<s.length() && s[j]==s[i];j++);
  11. t+=s[i]+to_string(j-i);
  12. }
  13. s=t;
  14. }
  15. cout<<s;
  16. system("pause");
  17. return 0;
  18. }

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,145人围观)

还没有评论,来说两句吧...

相关阅读