测试点不符合题目数据范围
查看原帖
测试点不符合题目数据范围
143416
憬芳楼主2025/1/18 21:07

由于大部分人用string类型秒题,我一个用char类型的蒟蒻发现了给的数据范围有问题


代码如下

#include <cstdio>
#include <cstring>
using namespace std;
char T[105],S[105];
int lent,lens;
int main()
{
	int i,j,ti,tj,temp;
	scanf("%s%s",T,S);
	lent=strlen(T);
	lens=strlen(S);
	if(lens>lent)
	{
		printf("no");
		return 0;
	}
	for(i=0;i<=lent-lens;i++)
	{
		for(j=0;j<lens;j++)
		{
			if(T[i]==S[j])
			{
				temp=0;
				ti=i,tj=j;
				while(temp!=lens)
				{
					if(T[ti]!=S[tj])break;
					temp++;
					ti++;
					tj++;
					if(tj==lens)tj=0;
				}
				if(temp==lens)
				{
					printf("yes");
					return 0;
				}
			}
		}
	}
	printf("no");
	return 0;
}

题目数据范围是[1,100],我用char类型定义[105]的数组大小,不应该会出问题,但WA了第15,25,27这三个点。我怀疑了一天我的问题,直到我把char类型改成string类型,直接AC了,证明数据点范围不符合题目要求。

2025/1/18 21:07
加载中...