HDU 4148 Length of S(n)(字符串)

题目

字符串处理

题意要猜,解析见代码:

/*
这题每个S(n)是描述S(n-1)值
例如:
S(1)=1;
S(2)=11;即描述S(1)有1个1=11
S(3)=21;即描述S(2)有2个1=21
S(4)=1211;即描述S(3)有1个2和2个1=1211
....
*/

#include <cstdio>
#include<iostream>
#include <cstring>
#include <algorithm>
using namespace std;
struct tt
{
    int nu[5050];
    int n;
}a[35];

int main() {
    a[1].n=1;
    a[1].nu[0]=1;
    for(int i=2;i<31;i++){
        int num=1,pre=a[i-1].nu[0],idd=0;
        for(int j=1;j<a[i-1].n;j++){
            if(pre!=a[i-1].nu[j]){

                    int tep[10],id=0;
                    while(num!=0){
                        tep[id++]=num%10;
                        num=num/10;
                    }
                    for(int ii=id-1;ii>=0;ii--){
                        a[i].nu[idd++]=tep[ii];
                    }
                    a[i].nu[idd++]=a[i-1].nu[j-1];
                num=1;
                pre=a[i-1].nu[j];
            }
            else {
                num++;
            }
        }
            int tep[10],id=0;
                    while(num!=0){
                        tep[id++]=num%10;
                        num=num/10;
                    }
                    for(int ii=id-1;ii>=0;ii--){
                        a[i].nu[idd++]=tep[ii];
                    }
                    a[i].nu[idd++]=a[i-1].nu[a[i-1].n-1];
        a[i].n=idd;
    }
    int n;
    while(scanf("%d",&n),n)
    {
        cout << a[n].n <<endl;
    }
    return 0;
}

HDU 4148 Length of S(n)(字符串),布布扣,bubuko.com

时间: 2024-10-13 01:34:43

HDU 4148 Length of S(n)(字符串)的相关文章

HDU 4148 Length of S(n)(规律题)

Problem Description http://acm.hdu.edu.cn/showproblem.php?pid=4148 A number sequence is defined as following: S(1)=1, S(2)=11, S(3)=21, S(4)=1211, S(5)=111221, S(6)=312211, -- Now, we need you to calculate the length of S(n). Input The input consists

HDU 2594 Simpsons’ Hidden Talents (字符串-KMP)

Simpsons' Hidden Talents Problem Description Homer: Marge, I just figured out a way to discover some of the talents we weren't aware we had. Marge: Yeah, what is it? Homer: Take me for example. I want to find out if I have a talent in politics, OK? M

HDU 11488 Hyper Prefix Sets (字符串-Trie树)

H Hyper Prefix Sets Prefix goodness of a set string is length of longest common prefix*number of strings in the set. For example the prefix goodness of the set {000,001,0011} is 6.You are given a set of binary strings. Find the maximum prefix goodnes

hdu 4119 Isabella&#39;s Message 【字符串处理】

Isabella's Message Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2098    Accepted Submission(s): 614 Problem Description Isabella and Steve are very good friends, and they often write letters

hdu 4119 Isabella&#39;s Message【字符串模拟】

题目链接:http://write.blog.csdn.net/postedit 自我感觉比较麻烦 #include<stdio.h> #include<string.h> #include<algorithm> #include<iostream> #include<string> #include<map> using namespace std; const int maxh=100+10; const int maxe=100

hdu 4850 Wow! Such String!(字符串处理,yy)

题目 参考了博客http://blog.csdn.net/u013368721/article/details/37575165 //用visit[26][26][26][26]来判断新家新区的子母河前三个组合而成的4个字符的串是否和之前的重复. //再加上最初三个字符,所以,总共有26*26*26*26+3的长度. /* //以下复制自博客http://blog.csdn.net/u013368721/article/details/37575165 题目大意:给你一个整数n,让你输出一个字符

length()代替equals()检验字符串是否为空串

主题 永远也不要使用string.equals("")检验一个字符串是空串 最优方案 检验字符串是空串的最好方法是:用length(),这个方法返回字符串中字符的个数,如果字符的个数是0,一定是空串. public boolean isEmpty(String str) { return str.equals(""); //NEVER do this } public boolean isEmpty(String str) { return str.length()

HDU 1039[Easier Done Than Said?] 字符串处理

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1039 题目大意:给一个字符串,看是否符合密码的要求. 规则:1.至少有1个元音字母.2.不能有3个连续的元音字母或辅音字母3.不能有相同的字母连续出现(除了ee,oo) 关键思想:耐心地处理字符串 代码如下: //可优化 #include <iostream> #include <algorithm> #include <string.h> using namespace

hdu 1228 A + B 详细题解 字符串/哈希

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1228 这道题可以同时用两种方法做,第一种是字符串,第二种是哈希. 第一种方法: 我们可以定义一个字符串类型的二位数组,存放"zero"--"nine"十个字符串 这十个字符串可以与下标0--9一一对应.这样就可以建立字符串与数字之间的关系了 char a[][10]={"zero","one","two",&q