首页 > 其他 > 详细

CodeForces - 699B

时间:2021-02-21 23:49:49      阅读:31      评论:0      收藏:0      [点我收藏+]

#include<bits/stdc++.h>
#define ll long long
using namespace std;
#define speed_up ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
/*
题意;判断是否放一个炸弹能炸掉所有的墙(墙是*,炸弹能炸掉这一行和这一列的所有墙)
开两个数组分别存放每行和每列的墙数
*/
int main()
{
int m,n;
cin>>m>>n;
char c[m][n];
int x[m],y[n];
int s=0;
for(int i=0;i<m;i++)
{
x[i]=0;
for(int j=0;j<n;j++)
{
cin>>c[i][j];
if(c[i][j]==‘*‘)
{
x[i]++;
s++;
}
}
}
for(int j=0;j<n;j++)
{
y[j]=0;
for(int i=0;i<m;i++)
{
if(c[i][j]==‘*‘)
{
y[j]++;
}
}
}
int f=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
int b=x[i]+y[j];//该行和该列的墙数之和
if(c[i][j]==‘*‘)b--;//在中间位置的墙会多算一个,要减掉
if(b==s)//如果正好等于所有墙的个数说明这个位置符合
{
cout<<"YES"<<endl;
cout<<i+1<<" "<<j+1<<endl;
f=1;
break;
}
}
if(f==1)break;
}
if(f==0)
{
cout<<"NO"<<endl;
}
}

CodeForces - 699B

原文:https://www.cnblogs.com/SyrupWRLD999/p/14427188.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!