hpuoj1695 一道签到题【KMP】
来源:互联网 发布:不要网络的极品时刻表 编辑:程序博客网 时间:2024/05/21 09:35
1695: 一道签到题
时间限制: 2 Sec 内存限制: 128 MB提交: 69 解决: 33
[提交][状态][讨论版]
题目描述
我想说这是一道签到题,意思就是本次测试中最水的一道,不过我这样说你真的愿意相信我吗?哈哈,题目是这样的给你一下小数,然后请告诉我分别告诉我这个小数的循环节的循环次数、循环节以及循环节长度
输入
输入包括多组测试数据每组测试数据1行,包括一个小数,小数的长度不超过200,小数大于0小于100
输出
分别输出这个小数的循环节的长度、循环节以及循环次数,中间以一个空格间隔
样例输入
8.69876987698769870.6665.1
样例输出
4 6987 41 6 31 1 1
【代码】
#include<stdio.h> #include<string.h> char a[220],b[220]; int p[220]; int len,len1,k; void getp() { int i=0,j=-1; p[i]=j; while(i<len1) { if(j==-1||b[i]==b[j]) { i++,j++; p[i]=j; } else j=p[j]; } } int main() { while(scanf("%s",a)!=EOF) { int i,j=0; len=strlen(a); for(i=0;i<len;i++) { if(a[i]=='.') k=i; } for(i=len-1;i>k;i--) { b[j++]=a[i]; len1=j; } getp(); printf("%d ",len1-p[len1]); for(i=len1-p[len1]-1;i>=0;i--) printf("%c",b[i]); printf(" %d\n",len1/(len1-p[len1])); } return 0; }
0 0
- hpuoj1695 一道签到题【KMP】
- 周赛-一道签到题(kmp)
- hpuoj--1695--一道签到题(KMP)
- 一道签到题
- hpu1695 一道签到题
- 一道签到题
- 一道签到题
- hpu 1695 问题 A 一道签到题(KMP算法的考察)
- hpu 1695 一道签到题
- C. 这是一道签到题
- qduoj 一道非常简单的签到题
- cfenglv的一道简单签到题 QDU
- qduoj 96 一道非常简单的签到题
- qduoj no cer的一道简单签到题
- QDU BelamiYao的一道简单签到题(思维)
- qduoj kkun的一道简单签到题(优先队列)
- QDUOJ 蒸鱼的一个简单签到题 思维+kmp
- 来一道水题 KMP算法---HDU2087
- java.lang.management.ManagementFactory的JAVA属性
- POJ 1861 && ZOJ 1542--Network 【最小生成树 && kruscal && 水题】
- WinRT下的RSA加解密方法
- zoj 3545 - Rescue the Rabbit(AC自动机+dp)
- USB接口带不动USB移动硬盘的解决方法
- hpuoj1695 一道签到题【KMP】
- IO流之复制文件
- poj 2752 Seek the Name, Seek the Fame (kmp主要问题剖析)
- BZOJ 1502 NOI 2005 月下柠檬树
- 线段树专题 POJ3468 A Simple Problem with Integers
- hdu 5366 The mook jong(dp)
- 读书笔记之c和指针(13)
- Java学习笔记-------好友列表的实现------卡片布局 实例
- GFS TFS HAYSTACK比较