CodeForces 699B One Bomb
来源:互联网 发布:python接口测试 编辑:程序博客网 时间:2024/05/17 02:08
2016暑期集训3-C
CodeForces 699B One Bomb
想法题
传送门:HustOJ
传送门:CodeForce
题意
给你m*n矩阵,表示一个地图,图上 . 表示空的,*表示墙。请你在图上放一个炸弹(可以放在墙的位置上),炸弹会炸掉所在行和所在列的墙。问一枚炸弹能不能炸掉所有墙。
思路
思路很简单,问题是如何简单代码实现。读图时记录每行每列炸弹数以及炸弹总数。然后开始枚举格子,算当前格子所在行,列的炸弹数,等于总数就ok。
代码
#include <iostream>#include<cstdio>#include<algorithm>#include<cstdlib>#include<cstring>#include<cmath>#include<vector>#include<queue>#include<stack>#include<iomanip>#include<string>using namespace std;const int MAXN = 1007;const int oo = 2000000007;const long long int loo = 2000000000000000007ll;typedef long double ld;typedef long long ll;using namespace std;int main(){ int m,n; scanf("%d%d",&m,&n); getchar(); char a[MAXN][MAXN]; memset(a,0,sizeof(a)); int r[MAXN]; memset(r,0,sizeof(r)); int c[MAXN]; memset(c,0,sizeof(c)); int sum=0; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { scanf("%c",&a[i][j]); if(a[i][j]=='*') { r[i]++; c[j]++; sum++; } } getchar(); } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { int temp=0; temp=temp+r[i]+c[j]; if(a[i][j]=='*') { temp--; } if(temp==sum) { printf("YES\n%d %d",i,j); return 0; } } } printf("NO\n"); return 0;}
0 0
- Codeforces 699B One Bomb
- codeforces 699B One Bomb
- codeforces 699B One Bomb
- Codeforces 699B - One Bomb
- Codeforces-699B One Bomb
- CodeForces 699B One Bomb
- CodeForces 699B One Bomb
- CodeForces 699B One Bomb
- Codeforces 699B - One Bomb
- CodeForces:699B-One Bomb
- CodeForces 699B One Bomb(暴力)
- codeforces 699B One Bomb (思维)
- 【codeforces】-699B-One Bomb(思维)
- codeforces 699B One Bomb (思维)
- CodeForces 699 B. One Bomb(水~)
- 【模拟】Codeforces 699B One Bomb
- codeforces 699 B. One Bomb (思维)
- CodeForces 699B - One Bomb 暴力
- C++学习笔记 将数据以特定的格式转换成字符串形式打印
- HDU 1728 逃离迷宫
- Android中pull解析xml文件
- HDU 5692 区间最大值+DFS序
- light oj
- CodeForces 699B One Bomb
- Java面经总结
- Jconsole
- python中ascii码和字符的转换
- FASText(下):FASText
- 基于链表的容器类bag实现
- NOIP2016#模拟考试 Day.2# T1 改错
- Spring MVC + mybatis实现的注册登录
- Android 6.0 拨号检索功能分析