寻求帮助来了,大佬别走
查看原帖
寻求帮助来了,大佬别走
370349
萤火kison楼主2020/8/18 12:10

需求帮助呀

#include<iostream>
using namespace std;
char a[505][505];
int ans;
int sum; 
int main(){
	int r,c,k;
	cin>>r>>c>>k;
	for(int i=1;i<=r;i++){
		for(int j=1;j<=c;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=r;i++){
		for(int j=k;j<=c;j++){
			bool flag1=true;
		    bool flag2=true;
			if(a[i][j]=='.'){
				//横搜 
				for(int m=j-1;m>=j-k+1;m--){
					if(a[i][j]!=a[i][m]){
						flag1=false;
						break;
					}
				}
				if(flag1){
					ans++;
				}
				//竖搜 
				for(int n=i-1;n>=i-k+1;n--){
					if(a[i][j]!=a[n][j]){
						flag2=false;
						break;
					}
				}
				if(flag2){
					ans++;
				}
			}
		}
	}
	if(k==1){
		cout<<ans/2<<endl;
	}else{
		cout<<ans<<endl;
	}
	return 0;
} 

不知道是我对题理解错误了,还是咋回事,20分飘过

2020/8/18 12:10
加载中...