Hdu 2087
2015-12-28 10:33
330 查看
[align=left]Problem Description[/align]
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?
[align=left]Input[/align]
输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
[align=left]Output[/align]
输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
[align=left]Sample Input[/align]
[align=left]Sample Output[/align]
代码:
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?
[align=left]Input[/align]
输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
[align=left]Output[/align]
输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
[align=left]Sample Input[/align]
abcde a3 aaaaaa aa #
[align=left]Sample Output[/align]
0 3
代码:
#include <stdio.h> #include <string.h> int main(){ int cnt,i,j,k; char str[1000+100],tmp[1000+10]; int strl,tmpl; while(~scanf("%s",str)){ if(!strcmp(str,"#")) break; scanf("%s",tmp); cnt=0; strl=strlen(str); tmpl=strlen(tmp); for(i=0;i<strl;++i){ for(j=0,k=i;j<tmpl;++j,++k){ if(k>=strl) break; if(str[k]==tmp[j]) continue; else break; } if(j==tmpl){ cnt++; i=k-1; } } printf("%d\n",cnt); } return 0; }
相关文章推荐
- 在老男孩教育的日子
- 使用SVG图片格式
- cocos2dx windows eclipse 开发配置准备
- 百度排名规则及算法(百度内部资料)
- IOS 真机调试 There was an internal API error.
- Educational Codeforces Round 4 A. The Text Splitting 水题
- 将[4,3,2,5,4,3]分割成[4,3,2]、[5,4,3]两个List的算法
- JSP中<base href="<%=basePath%>">作用
- 自定义progressBar(进度条)
- SpringMVC 定时任务执行两次问题的解决方案
- iOS生成同时支持armv7,armv7s,i386的静态库.a文件
- 多窗口类似支付宝,百度云的保护页面,当软件进入后台后,生成保护页面来验证,验证成功以后继续操作
- Apache Stratos探究:为什么要使用 Apache Stratos
- Android AysncTask的使用
- 准备跳槽了
- SAS学习笔记6
- Java线程篇(六):线程池
- GC基本算法及C++GC机制
- 禅道程序员的10条原则
- Jboss 数据源配置参数