0
点赞
收藏
分享

微信扫一扫

acm杭电2087-剪花布条

AbrahamW 2023-05-29 阅读 44



Problem Description


一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?


 



Input


输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。


 



Output


输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。


 



Sample Input


abcde a3 aaaaaa aa #


 



Sample Output


0 3



/************************************************************************************************************************************************

代码如下:

/*********************


#include<stdio.h>
#include<string.h>
int mycmp(char *str,char *p2)   //这是一个判断能否从大布条上剪下一块小布条的函数,成功则返回0,失败返回1
{ 
	while(*p2)
	{
		if( *str!=*p2 || *str==0 )
		{
			return 1;
		}
		str++;
		p2++;
	}
	return 0;
}
int main()
{
	char str[1006],small[1006];
	int sum;
	while(scanf("%s",str),str[0]!='#')
	{
		sum=0;
		scanf("%s",small);
		
		for(int i=0;i<strlen(str);)
		{
			if(mycmp(&str[i],small)==0)
			{
				i=i+strlen(small);
				sum++;
			}
			else
				i++;
		}
		printf("%d\n",sum);
		memset(str,0,sizeof(str));
	}
	return 0;
}





举报

相关推荐

0 条评论