喵喵
查看原帖
喵喵
1252442
lucy2012楼主2024/8/14 15:53

样例没有过欸

#include<bits/stdc++.h>
using namespace std;
int r,c,k,ans;
char a[110][110];
int main(){
	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=1;j<=c;j++){
			if(a[i][j]=='.'){
				int tmp1=1,tmp2=1,tmp3=1;
				for(int q=1;q<=k;q++){
					int x=i+q,y=j+q;
					if(x<=0||x>r){
						tmp1=tmp3=0;
					}
					if(y<=0||y>c){
					    tmp2=tmp3=0;	
					}
					if(a[i][y]!='.'){
						tmp2=0;
					}
					if(a[x][j]!='.'){
						tmp1=0;
					}
					if(a[x][y]!='.'){
						tmp3=0;
					}
					if(!tmp1&&!tmp2&&!tmp3)
					    break;
				}
				if(tmp1)
				    ans++;
				if(tmp2)
				    ans++;
				if(tmp3)
				    ans++;
			}
		}
	}
	cout<<ans;
	return 0;
}
2024/8/14 15:53
加载中...