标签:
PainterThe number of column of the rectangle is also less than 50.
6
//遍历一遍地图 当碰到R的时候这一斜对角线都变为‘.‘ 当碰到G的时候变为B
// 因为R和B 的方向不同 要判断两次 对角线有可能没有全部画完 一条对角线有可能画多次
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; char s[60][60]; int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); getchar(); for(int i=0;i<n;i++) gets(s[i]); int ans=0; int len=strlen(s[0]); for(int i=0;i<n;i++) { for(int k=0;k<len;k++) //注意长度 { int t=k; if((s[i][k]=='R')||(s[i][k]=='G')) { ans++; for(int j=i;j<n&&t<len;j++) { if(s[j][t]=='.'||s[j][t]=='B') break; if(s[j][t]=='G') s[j][t]='B'; else if(s[j][t]=='R') s[j][t]='.'; t++; } } t=k; if((s[i][k]=='B')||(s[i][k]=='G')) { ans++; for(int j=i;j<n&&t>=0;j++) { if(s[j][t]=='.'||s[j][t]=='R') break; if(s[j][t]=='G') s[j][t]='R'; else if(s[j][t]=='B') s[j][t]='.'; t--; } } } } printf("%d\n",ans); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/a73265/article/details/47134869