化简一下代码#includebitsstdc++husing namespace std;char a101101;int nmxxyyllflag=1;int f1找第二个建筑 forint i=1;i=n;i++ forint j=1;j=m;j++ ifaij==continue; int l1=0l2=0; whileai+l1j!=&&i+l1=nl1++; whil
#include<bits/stdc++.h>
using namespace std;
char a[101][101];
int n,m,xx,yy,ll,flag=1;
int f1(){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]=='.')continue;
int l1=0,l2=0;
while(a[i+l1][j]!='.'&&i+l1<=n)l1++;
while(a[i][j+l2]!='.'&&j+l2<=m)l2++;
cout<<i<<" "<<j<<" "<<min(l1,l2)<<endl;
xx=i;yy=j;ll=min(l1,l2);
return 0;
}
}
}
int f2(){
for(int i=n;i;i--){
for(int j=m;j;j--){
if(a[i][j]=='.')continue;
int l1=0,l2=0;
while(a[i-l1][j]!='.'&&i-l1!=0)l1++;
while(a[i][j-l2]!='.'&&j-l2!=0)l2++;
flag=0;
cout<<i-max(l1,l2)+1<<" "<<j-max(l1,l2)+1<<" "<<max(l1,l2);
return 0;
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>a[i][j];
f1();
for(int i=0;i<ll;i++){
for(int j=0;j<ll;j++){
a[xx+i][yy+j]='.';
}
}
f2();
if(flag){
cout<<xx<<" "<<yy<<" "<<ll<<endl;
}
return 0;
原文地址: https://www.cveoy.top/t/topic/iO31 著作权归作者所有。请勿转载和采集!