题目链接: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;
}