2015多校联合训练第三场Painter(hdu5319)
来源:互联网 发布:淘宝助理水印图片大小 编辑:程序博客网 时间:2024/05/22 04:42
要注意的地方就是并不是n*n的矩阵,列要单独求
dfs一下
#include <bits/stdc++.h>#define LL long longusing namespace std;const int MAXN = 1e6;int n,m;char mp[60][60];int ans;void dfs_R(int x , int y){ if(x >= 0 && x < n && y >= 0 && y < m && (mp[x][y] == 'R' || mp[x][y] == 'G')) { if(mp[x][y] == 'G') mp[x][y] = 'B'; else mp[x][y] = '.'; dfs_R(x-1,y-1); dfs_R(x+1,y+1); } return;}void dfs_B(int x, int y){ if(x >= 0 && x < n && y >= 0 && y < m && (mp[x][y] == 'B' || mp[x][y] == 'G')) { if(mp[x][y] == 'G') mp[x][y] = 'R'; else mp[x][y] = '.'; dfs_B(x+1,y-1); dfs_B(x-1,y+1); } return;}int main(){#ifdef xxz //freopen("out.txt","w",stdout); freopen("in.txt","r",stdin);#endif // xxz int T; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i = 0; i < n; i++) scanf("%s",mp[i]); int ans = 0; m = strlen(mp[0]); for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { if(mp[i][j] == 'R') { dfs_R(i,j); ans++; } else if(mp[i][j] == 'B') { dfs_B(i,j); ans++; } else if(mp[i][j] == 'G') { dfs_R(i,j); mp[i][j] = 'B'; dfs_B(i,j); ans += 2; } } } printf("%d\n",ans); } return 0;}
0 0
- 2015多校联合训练第三场Painter(hdu5319)
- 2015多校联合第三场5319painter
- [模拟] 多校联合第三场 painter HDU 5319
- 2013多校联合训练第三场
- 2015多校联合训练第三场Work(hdu5326)
- 2013暑期多校联合训练\第三场\Problem G
- 2013暑期多校联合训练\第三场\Problem H
- 20150728多校第三场1004 - Painter
- 多校联合第三场
- HDU5319.Painter
- hdu5319 Painter
- hdu5319 Painter
- HDU5319 Painter
- 2015年多校联合训练第三场RGCDQ(hdu5317)
- 2013多校联合训练第四场
- 2013多校联合训练第五场
- 多校联合训练第五场总结
- hdu 5319 Painter(15多校第三场1004)
- 65. Valid Number
- Android Bundle传值
- 设置多个回车默认按钮
- C#中Find及Findindex用法
- 滴滴打车创新盈利方式
- 2015多校联合训练第三场Painter(hdu5319)
- 【leetCode】Sliding Window Maximum【求高人解释】
- java学习基础
- 九度oj1513
- 更改Appsettings
- Qt归纳(三)
- 面试准备---计算机网络(一)
- LeetCode之Merge Two Sorted Lists
- xcode RTImageAssets插件(将@3x图片转换为@2x和@1x)