#8#9没过,80分求调
查看原帖
#8#9没过,80分求调
1178784
abab28楼主2024/11/20 16:32
#include<iostream>
using namespace std;
char map[105][105];//char型 
int r,c,k,ans=0;

int main(){
	cin>>r>>c>>k;
	for(int i=0;i<r;i++)
		for(int j=0;j<c;j++)
			cin>>map[i][j];
			
	for(int i=0;i<r;i++){
		for(int j=0;j<c;j++){
			
			int sum=0,m=0,n=0;
			if(map[i][j]=='#')
				continue;
			else if(map[i][j]=='.'){
				//向下找 
				for(int a=1;a<k;a++){
					if(map[i+a][j]=='.')
						m++;
				}
				//向右找 
				for(int a=1;a<k;a++){
					if(map[i][j+a]=='.')
						n++;
				}
				//判断 
				if(m==k-1) sum+=1;
				if(n==k-1) sum+=1;
				ans+=sum;
			}
			
		}
	}
	if(k==1)
		cout<<ans/2; 
	else
		cout<<ans;
	return 0;
}
2024/11/20 16:32
加载中...