HDU 5319 Painter
来源:互联网 发布:园林绿化施工网络 编辑:程序博客网 时间:2024/06/03 21:23
题目地址:点击打开链接
思路:先求要要画多少条红线,再求画多少条蓝线
AC代码:
#include<iostream>#include<cstring>using namespace std;char a[55][55];int m,n;bool check(int x,int y){ if(x>=0 && x<m && y>=0 && y<n) return true; return false;}void dfs1(int x,int y){ if(a[x][y] == 'R') a[x][y] = '.'; else if(a[x][y] == 'G') a[x][y] = 'B'; x += 1; y += 1; if(check(x,y) && (a[x][y] == 'R' || a[x][y] == 'G'))//有可能是一个点,所以要加或者G,不加会错误 dfs1(x,y);}void dfs2(int x,int y){ a[x][y] = '.'; x += 1; y -= 1; if(check(x,y) && (a[x][y] == 'B')) dfs2(x,y);}int main(){ int i,j,t,sum; cin>>t; while(t--) { sum = 0; cin>>m; for(i=0; i<m; i++) { cin>>a[i]; } n = strlen(a[0]); for(i=0; i<m; i++) { for(j=0; j<n; j++) { if(a[i][j] == 'R' || a[i][j] == 'G') { dfs1(i,j); sum++; } } } for(i=0; i<m; i++) { for(j=0; j<n; j++) { if(a[i][j] == 'B') { dfs2(i,j); sum++; } } } cout<<sum<<endl; } return 0;}
0 0
- HDU 5319 Painter
- hdu 5319 Painter
- HDU 5319 Painter(模拟)
- HDU 5319 Painter
- HDU-5319 Painter
- HDU 5319 Painter(枚举)
- HDU 5319 Painter
- hdu 5319 Painter
- HDU 5319 Painter
- HDU 5319(Painter-暴力)
- HDU 5319 Painter
- HDU 5319 Painter
- Hdu 5319 Painter (模拟)
- HDU 5319 Painter
- HDU - 5319 Painter
- HDU 5319-Painter
- HDU 5319 Painter (模拟 脑洞题)
- hdu 5319 Painter(水)
- 固定特定的线程到特定的CPU
- JAVA JDBC
- Boost.Spirit.Karma 自定义directive
- ThinkPHP3.2.2调试模式下正常访问,关闭调试模式,部署时出现删出缓存第一次没错,第二次开始错误。
- The Genesis of Java Design Patterns
- HDU 5319 Painter
- 逻辑斯底回归的特征、多分类问题及过拟合问题
- IOS开发-tableViewCell 的小demo,group分组。
- HDOJ 2141 Can you find it?(二分查找,binary_search())
- SDK manager无法启动
- vs2010中objectARX工程创建类
- oracle HANA sum等计算函数会自动过滤空值
- CentOS 6.6安装Horizon View Client3.4
- 设计模式C++实现(1)——工厂模式