【杭电】[2087]剪花布条

文章字数:183

问题描述

问题分析

因为是判断到不相同便不需要继续比较
所以写成函数比较方便

需要注意的是第二组输出
可以看出需要跳过已经"剪出"的字符串

所以对于循环的i的增加进行了判断

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
#include<string.h>
char s1[1020],s2[1020];
bool judge(int b,int l2) {
	for(int i=0; i<l2; i++) {
		if(s1[b+i]!=s2[i])
			return false;
	}
	return true;
}
int main() {
	while(scanf("%s",s1),s1[0]!='#') {
		scanf("%s",s2);
		int l1=strlen(s1),l2=strlen(s2);
		int cnt=0;
		for(int i=0; i<l1;) {
			if(judge(i,l2)) {
				i+=l2;
				cnt++;
			} else
				i++;
		}
		printf("%d\n",cnt);
	}
	return 0;
}

题目地址:【杭电】[2087]剪花布条

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...