求条,60分
查看原帖
求条,60分
738168
wang0728楼主2024/8/31 18:40

略有一点抽象

#include <bits/stdc++.h>
using namespace std;
int n,m;
long long ans;
int dx[4]={1,0,0,-1};
int dy[4]={0,1,-1,0};
int dxx[4]={2,0,0,-2};
int dyy[4]={0,2,-2,0};
int dxxx[4]={3,0,0,-3};
int dyyy[4]={0,3,-3,0};
char a[1005][1005];
void look(int x,int y){
	for(int i=0;i<4;i++){
		int xx=x+dx[i],yy=y+dy[i];
		int xxx=x+dxx[i],yyy=y+dyy[i];
		int xxxx=x+dxxx[i],yyyy=y+dyyy[i];
		if(xxxx<=0 || xxxx>n || yyyy<=0 || yyyy>n) continue;
		if(a[xx][yy]=='e' && a[xxx][yyy]=='h' && a[xxxx][yyyy]=='e') ans++;
	}
	return;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++) cin>>a[i][j];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(a[i][j]=='h') look(i,j);
		}
	}
	cout<<ans;
	return 0;
}
2024/8/31 18:40
加载中...