Codeforces Round #363 (Div. 2), problem: (B)
来源:互联网 发布:ubuntu maven m2 编辑:程序博客网 时间:2024/06/01 07:52
题意:一个炸弹,可以消灭横竖所有墙,问是否能用一个boom消灭地图上所有墙
题解:好吧,这个有点技巧,做法是计算每一列的墙数,存在sl[],计算每一排墙数,存在sh[]中。遍历每一个点,当这个点对应的sl[i]和sh[j]之和减去(这个点是否是墙)==墙数时,则这个点成立。
(if(sh[i]+sl[j]-(maze[i][j]==’*’)==num))
#include<iostream>#include<sstream>#include<string>#include<cstdlib>#include<vector>#include<map>#include<queue>#include<stack>#include<cmath>#include<cctype>#include<set>#include<bitset>#include<algorithm>#include<list>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<ctype.h>#include<time.h>#define pr(x) cout<<#x<<" "<<x;#define pl(x) cout<<#x<<" "<<x<<endl;using namespace std;int sh[1002];int sl[1002];int num = 0;char maze[1005][1005];int main(){ int n,m; scanf("%d %d",&n,&m); getchar(); memset(sh,0,sizeof(sh)); memset(sl,0,sizeof(sl)); for(int i = 1;i<=n;i++){ for(int j = 1;j<=m+1;j++){ scanf("%c",&maze[i][j]); if(maze[i][j]=='*'){ num++; sh[i]++; sl[j]++; } } } for(int i = 1;i<=n;i++){ for(int j = 1;j<=m;j++){ if(sh[i]+sl[j]-(maze[i][j]=='*')==num){ cout<<"YES"<<endl; cout<<i<<" "<<j<<endl; return 0; } } } cout<<"NO"<<endl;}
0 0
- Codeforces Round #363 (Div. 2), problem: (B)
- Codeforces Round #170 (Div. 2) problem B
- Codeforces Round #173 (Div. 2) Problem B
- Codeforces Round #311 (Div. 2) Problem B
- Problem E Codeforces Round #184 (Div. 2) B. Continued Fractions
- Problem G B. Calendar Codeforces Round #183 (Div. 2)
- Codeforces Round #196 (Div. 2) B. Routine Problem
- Codeforces Round #196 (Div. 2) / 337B Routine Problem(数学)
- Codeforces Round #196 (Div. 2) B. Routine Problem
- Codeforces Round #FF (Div. 2) Problem B DZY Loves Strings
- Codeforces Round #170 (Div. 2) B. New Problem
- Codeforces Round #279 (Div. 2), problem: (B) Queue
- Codeforces Round #343 (Div. 2) B. Far Relative’s Problem
- Codeforces Round #343 (Div. 2) Problem A & B
- Codeforces Round #343 (Div. 2) B. Far Relative’s Problem
- Codeforces Round #437 (Div. 2) B. Save the problem!
- Codeforces Round #363 (Div. 2), problem: (A)
- Codeforces Round #363 (Div. 2), problem: (C)
- 279. Perfect Squares(难)
- java中equals和==的区别
- 入门题集(持续更新)
- 数据库连接池、读取properties配置文件小结
- 李欣老师视频笔记,只记录自己可能会忘的基础Efficient java
- Codeforces Round #363 (Div. 2), problem: (B)
- Spring事务管理(3)-AOP创建Advisors
- 系统编程(文件操作续)--C语言学习(3)
- 重定向和转发
- android 模拟表单文件上传servlet
- error C2065: 'IDD_DIALOG1' : undeclared identifier
- 一种适合服务器运行程序保护的思路
- The specified child already has a parent. You must call removeView() on the child's parent first.
- 主题模型及其变种的实现代码汇总