CodeForces - 699B One Bomb
题目地址:http://codeforces.com/contest/699/problem/B
题目大意:
一个矩阵,内容由‘.’和‘*’组成(‘.’ 空,‘*’ 代表墙),墙分布在不同位置,现找出一个位置放置 炸弹,炸弹能炸当前位置的一整行和一整列,如果炸弹的位置可以将所有的墙都炸掉,则输出 “YES” 并输出该位置,如果不存在这样一个位置,这输出“NO”.[炸弹可以放在空地或者墙上]
解题思路:
1. 对每行每列的墙进行统计,如果该位置为墙,则该行的墙数++同时该列的墙++,统计出所有墙的个数cut.
2.遍历,扫描位置,如果该位置为墙 则总墙数-1, 所在行的墙数+所在列的墙数=cut 则说明该位置可以放置炸弹且可以炸掉所有的墙,如果不存在这样一个位置则“NO”
Ac code:
#include<bits/stdc++.h>
using namespace std;
int xx[][];
int r[],c[];
int main()
{
int x,y,i,j;
while(~scanf("%d%d",&x,&y))
{
getchar();
memset(r,,sizeof(r));
memset(c,,sizeof(c));
int cut=;
for(i=; i<=x; i++)
{
for(j=; j<=y; j++)
{
xx[i][j]=getchar();
if(xx[i][j]=='*')
{
cut++;
r[i]++;
c[j]++;
}
}
getchar();
}
int flag=,x1,y1;
for(i=; i<=x; i++)
for(j=; j<=y; j++)
{
int sum=r[i]+c[j];
if(xx[i][j]=='*')sum--;
if(sum==cut)
{
flag=;
x1=i;
y1=j;
break;
}
}
if(flag)
cout<<"YES"<<endl<<x1<<' '<<y1<<endl;
else cout<<"NO"<<endl;
}
return ;
}
CodeForces - 699B One Bomb的更多相关文章
- 【模拟】Codeforces 699B One Bomb
题目链接: http://codeforces.com/problemset/problem/699/B 题目大意: N*M的图,*代表墙.代表空地.问能否在任意位置(可以是墙上)放一枚炸弹(能炸所在 ...
- 【CodeForces 699B】One Bomb
r[i],c[i]分别表示第i行有几个*,第i列有几个*. 枚举每个位置如果c[i]+r[j]-(本身是不是*)==总*数,则该位置即为答案. #include<cstdio> #incl ...
- CodeForces:699B-One Bomb
B. One Bomb time limit per test1 second memory limit per test256 megabytes Problem Description You a ...
- 2021.2.23--vj补题
B - B CodeForces - 699B 题目: You are given a description of a depot. It is a rectangular checkered fi ...
- Codeforces Round #345 (Div. 1) E. Clockwork Bomb 并查集
E. Clockwork Bomb 题目连接: http://www.codeforces.com/contest/650/problem/E Description My name is James ...
- Codeforces Round #363 (Div. 2) One Bomb
One Bomb 题意: 只有一个炸弹,并且一个只能炸一行和一列的'*',问最后能否炸完所以'*',如果可以输出炸弹坐标 题解: 这题做的时候真的没什么好想法,明知道b题应该不难,但只会瞎写,最后越写 ...
- Codeforces Round #363 (Div. 2)->B. One Bomb
B. One Bomb time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- Codeforces Round #363 (Div. 2) B. One Bomb (水题)
B. One Bomb time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- Codeforces Round #363 (Div. 2) B. One Bomb —— 技巧
题目链接:http://codeforces.com/contest/699/problem/B 题解: 首先统计每行每列出现'*'的次数,以及'*'出现的总次数,得到r[n]和c[m]数组,以及su ...
随机推荐
- 【BZOJ 3672】【UOJ #7】【NOI 2014】购票
http://www.lydsy.com/JudgeOnline/problem.php?id=3672 http://uoj.ac/problem/7 链上的情况可以用斜率优化dp.树上用斜率优化d ...
- 【BZOJ 2194】快速傅立叶之二
随便代换一下把它变成多项式乘法,及$C[T]=\sum_{i=0}^{T}A[i]×B[T-i]$这种形式,然后FFT求一下就可以啦 #include<cmath> #include< ...
- linux-查看系统是32位还是64位
可以用命令“getconf LONG_BIT”查看, 如果返回的结果是32则说明是32位,返回的结果是64则说明是64位. 此外还可以使用命令“uname -a”查看, 输出的结果中,如果有x86_6 ...
- dede使用方法----调用列表页的分页功能
分页的标签:<div class="dede_pages"> <ul class="pagelist"> {dede:pagelist ...
- 【USACO 1.4】Mother's Milk
/* TASK: milk3 LANG: C++ SOLVE: 倒水,dfs,枚举每一种倒法,ca[i][j]记录a和c桶的状态,因为总体积不变,故b的状态不需要记录. */ #include< ...
- win10前面板耳机没声音
首先去装Relteck的驱动,windows64位的下载地址是: http://12244.wpc.azureedge.net/8012244/drivers/rtdrivers/pc/audio/0 ...
- 【BZOJ-1923】外星千足虫 高斯消元 + xor方程组
1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 766 Solved: 485[Submit][Status ...
- 【bzoj1433】 ZJOI2009—假期的宿舍
http://www.lydsy.com/JudgeOnline/problem.php?id=1433 (题目链接) 题意 一个暑假,有人去大学里面探望朋友,有些人回家了,有些人留下了,每个人都要在 ...
- 素材收集(icon/images/javascript)
icon: http://www.easyicon.net/ http://www.iconpng.com/ images: http://www.58pic.com/tupian/fenxiangt ...
- 正则表达式——语法
正则表达式(regular expression)--描述一种字符串匹配模式,可以用来检测一个字符串是否包含特定的子串.用其他字符串将其代替.提取出某个符合要求的子串. 正则表达式 由普通字符 和 ...