• hpuoj--1695--一道签到题(KMP)


    1695: 一道签到题

    时间限制: 2 Sec  内存限制: 128 MB
    提交: 72  解决: 36
    [提交][状态][讨论版]

    题目描述

    我想说这是一道签到题,意思就是本次测试中最水的一道,不过我这样说你真的愿意相信我吗?哈哈,题目是这样的给你一下小数,然后请告诉我分别告诉我这个小数的循环节的循环次数、循环节以及循环节长度

    输入

    输入包括多组测试数据每组测试数据1行,包括一个小数,小数的长度不超过200,小数大于0小于100

    输出

    分别输出这个小数的循环节的长度、循环节以及循环次数,中间以一个空格间隔

    样例输入

    8.69876987698769870.6665.1

    样例输出

    4 6987 41 6 31 1 1

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    char str[100100];
    int p[100100];
    void getp()
    {
    	int i=0,j=-1;
    	p[0]=-1;
    	int len=strlen(str);
    	while(i<len)
    	if(j==-1||str[i]==str[j])
    	{
    		i++,j++;
    		p[i]=j;
    	}
    	else
    	j=p[j];
    }
    int main()
    {
    	int n;
    	while(scanf("%d.%s",&n,str)!=EOF)
    	{
    		int len=strlen(str);
    		getp();
    		printf("%d ",len-p[len]);
    		for(int i=0;i<len-p[len];i++)
    		printf("%c",str[i]);
    		printf(" %d
    ",len/(len-p[len])); 
    		memset(str,'',sizeof(str));
    	}
    	return 0;
    } 


  • 相关阅读:
    python中的map,fliter,reduce用法
    python中的函数参数传递
    python中的全局变量和局部变量
    python中的函数定义
    python中的eval()和exec()函数
    kafka手动提交,丢失数据
    02-基本概念
    01-接触kafka
    (8)适配模式--结构性
    java内存划分
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273607.html
Copyright © 2020-2023  润新知