很奇怪地过了,不理解
查看原帖
很奇怪地过了,不理解
881471
RanHT楼主2022/12/29 17:00

本来m=1000的时候40分,开o2后一直调高m就一直提分,最后100了,为什么呢

#include<stdio.h>
#include<math.h>
#include<string.h>
#define m 1000000
int main()
{
	int b=0,c=0,i=0,j=0,v=0,l=0,k=1,h=-1;
	char s[m],a[m],ch;
	scanf("%s",&s);
	getchar();
	while((ch=getchar())!=EOF)
	{a[i]=ch;i++;
	}
	for(i=0;i<strlen(s);i++)
	{
		if(s[i]>='A'&&s[i]<='Z')
		{
			s[i]+=32;
		}
	}
	for(i=0;i<=strlen(a)-strlen(s);i++)
	{
		if((a[i]==s[0])||(a[i]+32==s[0]))
		{
			for(j=i+1,k=1;j<i+strlen(s);j++,k++)
				{
					if((a[j]!=s[k])&&(a[j]+32!=s[k]))
					break;
				}
			if(j>=i+strlen(s))
			{
				if(i==0)
				{
					if(a[j]==' ')
					l++;
				}
				else if(i==strlen(a)-strlen(s))
				{
					if(a[i-1]==' ')
					l++;
				}
				else{if((a[j]==' ')&&(a[i-1]==' '))
				l++;
				}
				if((l==1)&&(h==-1))
				h=i;
			}
			else{
			}
		}	
	}
	if(h==-1)
	{
		printf("-1");
	}
	else{
		printf("%d %d",l,h);
	}
	return 0;	
}
2022/12/29 17:00
加载中...