HDU 5319 Painter
2016-05-17 12:15
387 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5319
题意:给出一个n*m个格子,有2种刷子,红刷子只能画'\',蓝刷子只能画‘/’,红和蓝涂在同一个格子会变成绿色,问最少要刷几次
思路:暴力每一个格子,如果s[i][j]是红色的,如果s[i-1][j-1]也是红色或者绿色的那么这2个格子可以由一笔画成,否则无法一笔画出,res++,蓝色格子同理,绿格子比较特殊,需要考虐到s[i-1][j-1]和s[i-1][j+1],判断2次即可
题意:给出一个n*m个格子,有2种刷子,红刷子只能画'\',蓝刷子只能画‘/’,红和蓝涂在同一个格子会变成绿色,问最少要刷几次
思路:暴力每一个格子,如果s[i][j]是红色的,如果s[i-1][j-1]也是红色或者绿色的那么这2个格子可以由一笔画成,否则无法一笔画出,res++,蓝色格子同理,绿格子比较特殊,需要考虐到s[i-1][j-1]和s[i-1][j+1],判断2次即可
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; char s[53][53]; int main() { int t,n; scanf("%d",&t); while (t--) { scanf("%d",&n); for (int i=1;i<=n;i++) { scanf("%s",s[i]+1); } int m=strlen(s[1]+1); int res=0; for (int i=1;i<=n;i++) { for (int j=1;j<=m;j++) { int tmp=res; if (s[i][j]=='R') { if (s[i-1][j-1]!='R' && s[i-1][j-1]!='G') res++; } else if (s[i][j]=='B') { if (s[i-1][j+1]!='B' && s[i-1][j+1]!='G') res++; } else if (s[i][j]=='G') { if (s[i-1][j-1]!='R' && s[i-1][j-1]!='G') res++; if (s[i-1][j+1]!='B' && s[i-1][j+1]!='G') res++; } } } printf("%d\n",res); } }
相关文章推荐
- HDU1151 Air Raid(有向图最小路径覆盖)
- LeetCode 220 Contains Duplicate III
- Codeforces Round #353 (Div. 2) B. Restoring Painting 水题
- From Opentsdb To Kairosdb
- 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATI
- async and await 简单的入门
- Tomcat启动报错 Failed to initialize connector [Connector[HTTP/1.1-8080]]
- Codeforces Round #353 (Div. 2)-B. Restoring Painting(数学)
- 详细解析Raid0、Raid0+1、Raid1、Raid5四者的区别
- Grails在服务类中获取web根目录
- Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
- 2016.5.16——leetcode:Rotate Array,Factorial Trailing Zeroe
- AEAI WM V1.5.0 升级说明,开源工作管理系统
- AEAI WM V1.5.0 升级说明,开源工作管理系统
- LeetCode 336. Palindrome Pairs
- 03-树3 Tree Traversals Again
- Failed to deploy virtual device -- Genymotion安装虚拟器失败
- sleep、yield、wait、join的区别
- Spirng+In+Action(Craig Walls Ryan Breidenbach)
- CodeForces 608A Saitama Destroys Hotel(水题)