hdu2087-剪花布条
来源:互联网 发布:无限极工资知乎 编辑:程序博客网 时间:2024/05/07 08:08
http://acm.hdu.edu.cn/showproblem.php?pid=2087
stl_strng
#include<iostream>#include<string>#include<cmath>using namespace std ;int main(){int temp , sum ;string str1 , str2 ;while( cin >> str1 && str1 != "#" ){cin >> str2 ;sum = temp = 0 ;while(( temp = str1.find( str2 , temp )) != string::npos ){sum++ ;temp += str2.size();}cout << sum << endl ;}return 0 ;}
kmp
#include<vector>#include<list>#include<map>#include<set>#include<deque>#include<stack>#include<bitset>#include<algorithm>#include<functional>#include<numeric>#include<utility>#include<sstream>#include<iostream>#include<iomanip>#include<cstdio>#include<cmath>#include<cstdlib>#include<cstring>#include<ctime>using namespace std;const int maxn = 50005 ;int next[ maxn ] , ex[ maxn ] ;char str1[ maxn ] , str2[ maxn ] ;int len1 , len2 ;void getNext(char *T){ int j,k; k=1; j=0; while(k<len2) { if(j==0 ||T[k]==T[j]) { ++j; ++k; if(T[ k ] == T[ j ] ) next[ k ] = next[ j ] ; else next[k]=j; } else j=next[j]; }}int get_ex(char *ob,char *sub){ int k , j ; j=0; k=0; int sum = 0 ; while(k<=len1) { if(j==0||ob[k]==sub[j]) { if( j == len2 ) { sum++ ; j = 0 ; } ++j; ++k; //ex[i]=k; } else j=next[j]; } return sum ;}int main(){ while( scanf( "%s" , str1 + 1 ) != EOF && str1[ 1 ] != '#' ) { scanf( "%s" ,str2 +1 ) ; len1 = strlen( str1 + 1) ; len2 = strlen( str2 + 1); getNext(str2); int ans = get_ex( str1 ,str2 ); printf( "%d\n",ans); }return 0;}
- hdu2087-剪花布条
- hdu2087 剪花布条
- HDU2087 剪花布条
- hdu2087 剪花布条
- hdu2087 剪花布条
- HDU2087 剪花布条
- hdu2087剪花布条
- HDU2087 剪花布条
- HDU2087剪花布条
- HDU2087 剪花布条
- HDU2087 剪花布条
- hdu2087剪花布条
- HDU2087剪花布条
- HDU2087-剪花布条
- hdu2087剪花布条
- hdu2087剪花布条
- HDU2087 剪花布条
- HDU2087剪花布条
- hdu 3549 Flow Problem 最大流
- LRUCache
- css盒模型中子元素垂直方向上总高度与父元素height的关系
- 泛型
- 运维自动化之salt
- hdu2087-剪花布条
- Tarjan算法
- OpenStack完整安装手册(CentOS6.2)
- poj2505 - A multiplication game
- Core Foundation对象的内存管理原则
- ios文件读写操作
- css的层叠顺序
- Android提供的LruCache类简介
- 关于C#集合想法与疑问(二)---自定义集合 C#二叉树实现