Codeforces Round #363 (Div. 2) B. One Bomb

题目链接:https://cn.vjudge.net/contest/211683#problem/H

ac代码:

#include<bits/stdc++.h>
using namespace std;
char a[1005][1005];
int c[1005],d[1005];//分别保存每一行,列的*的个数
int main()
{
           int n,m;
           while(cin>>n>>m)
           {
                      int sum=0;
                      for(int i=0;i<n;i++)
                      {
                                 cin>>a[i];
                                 for(int j=0;j<m;j++)
                                 {
                                        if(a[i][j]=='*')
                                            sum++;
                                 }
                      }
                      memset(c,0,sizeof(c));
                      memset(d,0,sizeof(d));
                      for(int i=0;i<n;i++)
                      {
                                 for(int j=0;j<m;j++)
                                 {
                                            if(a[i][j]=='*')
                                            {
                                                       c[i]++;
                                                       d[j]++;//二维数组
                                            }
                                 }
                      }
                      int flag=0,x,y;
                      for(int i=0;i<n;i++)
                      {
                                 for(int j=0;j<m;j++)
                                 {
                                            if(a[i][j]=='*')
                                            {
                                                       if(sum+1==c[i]+d[j])
                                                       {
                                                              x=i+1;
                                                              y=j+1;
                                                              flag=1;
                                                       }
                                            }
                                            else
                                            {
                                                       if(sum==c[i]+d[j])
                                                       {
                                                                  x=i;
                                                                  y=j;
                                                                  flag=1;
                                                       }
                                            }
                                            if(flag==1)
                                                       break;
                                 }
                      }
                      if(flag==1)
                      {
                                 cout<<"YES"<<endl;
                                 cout<<x<<" "<<y<<endl;
                      }
                      else
                                 cout<<"NO"<<endl;
           }
           return 0;
}

猜你喜欢

转载自blog.csdn.net/let_life_stop/article/details/79357213