许睿则
(许睿则)
1
题目:
- 数组-炸弹
题目ID:1213100分
最新提交:
0 分
历史最高:
0 分
时间限制: 1000ms
空间限制: 262144kB
题目描述
时间:1s 空间:256M
题目描述:
一个月黑风高的晚上你接到了一个爆破任务,有一个n∗m的场地,有些地方有墙,假如你在(i,j)位置投1个炸弹,第i行和第j列的墙都会被炸毁,现在你想知道是否可以只投放一次炸弹就将所有的墙炸掉。保证至少有一面墙。
输入格式:
第一行一个整数T,表示测试数据的组数
每组数据的第一行,包含两个整数n,m
接下来n行,
每行m个字符,’*’ 表示墙,’.’表示空地。
输出格式:
如果可以一次炸毁所有的墙在第一行输出“YES”,否则输出”NO”
如果可以一次炸毁所有的墙,在第二行输出投放炸弹的位置x,y
如果有多个位置可以炸毁,输出行号最小的,如果还有多个行号一样小的,输出列标号最小的。
样例输入:
2
3 4
.*..
....
.*..
3 3
..*
.*.
*..
样例输出:
YES
1 2
NO
约定:
1 <= n, m <= 1000
提示:无
帅贤
(帅贤)
5
int main(){
//输入t
for(int ti=1;ti<=t;ti++){
for(int i=1;i<1010;i++)
//x[i]设为0
for(int i=1;i<1010;i++)
//y[i]设为0
for(int i=1;i<1010;i++)
for(int j=1;j<1010;j++)
//g[i][j]设为0
//把temp和sum都设为0
//输入n和m
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
//输入k
if(k=='*'){
//x[i]和y[j]++
//g[i][j]设为1
//sum往上加一
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(x[i]+y[j]-g[i][j]==sum){
//a=i,b=j
//将temp归为1
break;
}
}
if(temp) break;
}
if(/*temp等于0*/)//输出"NO";
else{
//输出"YES"和a,b(记得换行)
}
}
return 0;
}
4 个赞