[蓝桥杯2015决赛]奇怪的数列-双指针+模拟
生活随笔
收集整理的這篇文章主要介紹了
[蓝桥杯2015决赛]奇怪的数列-双指针+模拟
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述
從X星截獲一份電碼,是一些數字,如下:
13
1113
3113
132113
1113122113
…
YY博士經徹夜研究,發(fā)現(xiàn)了規(guī)律:
第一行的數字隨便是什么,以后每一行都是對上一行“讀出來”
比如第2行,是對第1行的描述,意思是:1個1,1個3,所以是:1113
第3行,意思是:3個1,1個3,所以是:3113
請你編寫一個程序,可以從初始數字開始,連續(xù)進行這樣的變換。
輸入
第一行輸入一個數字組成的串,不超過100位
第二行,一個數字n,表示需要你連續(xù)變換多少次,n不超過20
輸出
輸出一個串,表示最后一次變換完的結果。
樣例輸入
5
7
樣例輸出
13211321322115
解題思路:
模擬過程!
代碼如下:
#include <iostream> #include <cstring> using namespace std;int main() {string a, str;cin >> a;int n;cin >> n;while (n--) {int len = a.length();str = "";for (int i = 0; i < len; i++) {int j = i + 1, cnt = 1;while (a[i] == a[j]) {j++;cnt++;}str += (cnt + '0');str += a[i];i = j - 1;//因為進入循環(huán)以后,i會++}a = str;}cout << a << endl;return 0; }總結
以上是生活随笔為你收集整理的[蓝桥杯2015决赛]奇怪的数列-双指针+模拟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何选购内存如何选购内存条
- 下一篇: [蓝桥杯][2013年第四届真题]幸运数