规律找到了就是个大水题。。
S(n)是描述S(n-1)
/*
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<map>
#include<stack>
#include<set>
#include<math.h>
using namespace std;
typedef long long int64;
//typedef __int64 int64;
typedef pair<int64,int64> PII;
#define MP(a,b) make_pair((a),(b))
const int maxn = 10005;
const int inf = 0x7fffffff;
const double pi=acos(-1.0);
const double eps = 1e-8;
char s[ maxn ],ss[ maxn ];
int ans[ 31 ];
void init(){
ans[1] = 1;//s[ 1 ] = "1";
ans[2] = 2;//s[ 2 ] = "11";
ans[3] = 2;
strcpy( s,"21" );
for( int i=4;i<=30;i++ ){
//printf("s=%s\n",s);
int cnt = 0;
strcpy( ss,s );
int len= strlen(ss);
for( int j=0;j<len;j++ ){
char flag = ss[j];
int cc = 0;
while( flag==ss[j]&&j<len ){
cc++;
j++;
}
if( cc!=0 ){
//j--;
s[ cnt++ ] = cc+'0';
s[ cnt++ ] = flag;
if( j==len ) break;
j--;
}
}
s[cnt++] = '\0';
ans[ i ] = strlen( s );
//printf("ans[%d]=%d\n",i,ans[i]);
}
}
int main(){
init();
int n;
while( scanf("%d",&n),n ){
printf("%d\n",ans[n]);
}
return 0;
}
分享到:
相关推荐
300+ AC 代码 。 大数 , 线段树 , 字符串 , dp.....
2、new做两件事,一是分配内存,二是调用类的构造函数 3、new建立的是一个对象,而malloc分配的是一块内存 4、new/delete是保留字,不需要头文
本人准备2020年保研机试时刷的题目(虽然最后机试取消了,...来自某中流985,在HDU和vjudge平台上大概刷了400道。本文件地图(excel表格)包含了绝大部分我刷过的题目,笔记中具有思路、代码、总结和心得。 大佬勿入!
ACM题库,一些题目和答案,以及解题报告,传上来共享
杭电OnlineJudge 200-2099的解题报告
acm入门训练和日常训练 对于初学者以及acm爱好者有叫大帮助
HDU的1250,主要是利用高精度加法,但是代码有点繁琐,效率不是很高
hdu 1695 GCD(欧拉函数+容斥原理).docx
杭电ACMhdu1163
HDU1059的代码
hdu1001解题报告
hdu 1574 passed sorce
HDU的一题........HDU DP动态规
hdu acm 教案 搜索入门 hdu acm 教案 搜索入门
hdu2101AC代码
搜索 dfs 解题代码 hdu1241
hdu 5007 Post Robot 字符串枚举。 暴力一下就可以了。
hdu acm 教案 动态规划(1) hdu acm 教案 动态规划(1)
ACM HDU题目分类,我自己总结的大概只有十来个吧
hdu 1166线段树代码