为什么这题加快读就TLE?
查看原帖
为什么这题加快读就TLE?
494699
卷王慢即快楼主2022/4/16 14:38

大佬们帮忙看一下:

#include<iostream>
using namespace std;
int ans=0;
char a[101][101];
inline int read()
{
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9')
	{
		if(ch=='-') f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
	{
		x=(x<<1)+(x<<3)+(ch^48);
		ch=getchar();
	}
	return x*f;
}
int main()
{
	int r,c,k;
	r=read(),c=read(),k=read();
	for(int i=1;i<=r;i++)
		for(int j=1;j<=c;j++)
			a[i][j]=read();
	bool f;
	for(int i=1;i<=r;i++)
		for(int j=1;j<=c;j++)
		{
			f=1;
			for(int l=0;l<k;l++)
				if(a[i+l][j]!='.'){f=0;break;};
			if(f==1) ans++;
		}
	for(int i=1;i<=r;i++)
		for(int j=1;j<=c;j++)
		{
			f=1;
			for(int l=0;l<k;l++)
				if(a[i][j+l]!='.'){f=0;break;};
			if(f==1) ans++;
		}
	if(k==1) ans/=2;
	cout<<ans;
	return 0;
}

提交记录

2022/4/16 14:38
加载中...