Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1406 Accepted Submission(s): 838
ios
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 2500; //每一個字符串的長度未知,所以數組長度能夠開大一點數組
char c[31][N];spa
void lengthS()
{ip
int len, count, k;
memset(c, 0, sizeof(c));//很容易忘記
c[1][0] = '1';
c[2][0] = '1';
c[2][1] = '1';
for(int i = 3; i <= 30; i++)//將全部的字符串枚舉出來
{
len = strlen(c[i-1]);
k = 0, count = 1;
for(int j = 0; j < len; j++)
{
if(c[i-1][j] == c[i-1][j+1])
{
count++;
}
else
{
while(count)
{
c[i][k++] = count%10 + '0';// 記錄個數
count /= 10;
}
c[i][k++] = c[i-1][j];
count = 1;
}
}
}
}
int main()
{
int n, len;
lengthS();
while(cin >> n && n)// n = 0時結束程序
{
len = strlen(c[n]);
cout << len << endl;
}
return 0;
} ci