思路:暴力 行列数相加等于总数或总数+1;不要用奇奇怪怪的方法!!不要用奇奇怪怪的方法!!不要用奇奇怪怪的方法!!!!!
代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std;
char a[1000+5][1000+5];
int vish[1000 + 5],visl[1000 + 5];
int main()
{
int n,m,sum = 0;
cin>>n>>m;
memset(vish,0,sizeof vish);
memset(visl,0,sizeof visl);
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
cin>>a[i][j];
if(a[i][j] == '*')
{
vish[i]++;
visl[j]++;
sum++;
}
}
}
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
if(a[i][j]=='*' && sum == vish[i]-1+visl[j])
{
cout<<"YES"<<endl<<i<<" "<<j<<endl;
return 0;
}
else if(a[i][j] != '*' && sum == vish[i]+visl[j])
{
cout<<"YES"<<endl<<i<<" "<<j<<endl;
return 0;
}
cout<<"NO"<<endl;
return 0;
}
本文介绍了一个基于矩形网格的游戏挑战,玩家需要放置一枚炸弹来消除所有障碍物。文章提供了问题描述、输入输出示例及解决方案代码,展示了如何通过计算行和列中障碍物的数量来确定可行的炸弹位置。
580

被折叠的 条评论
为什么被折叠?



