【杭电】[2087]剪花布条

这里写图片描述
这里写图片描述

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

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

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

#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
",cnt);
    }
    return 0;
}

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

原文地址:https://www.cnblogs.com/BoilTask/p/12569547.html