From 9704f5c85a2190803356a3bd827f5d49d9973773 Mon Sep 17 00:00:00 2001 From: Kirito <1362050620@qq.com> Date: Fri, 1 Jul 2016 21:18:21 +0800 Subject: [PATCH] Create 5706.cpp --- HDOJ/5706.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 HDOJ/5706.cpp diff --git a/HDOJ/5706.cpp b/HDOJ/5706.cpp new file mode 100644 index 0000000..11a46ed --- /dev/null +++ b/HDOJ/5706.cpp @@ -0,0 +1,63 @@ +#include +#include +#include +using namespace std; + +char mp[1024][1024]; + +int cat=0; +int girl=0; + +void dp_girl(int i,int j,int step) +{ + switch(step) + { + case 1:if(mp[i][j]!='i') return;break; + case 2:if(mp[i][j]!='r') return;break; + case 3:if(mp[i][j]!='l') return;else ++girl;return;break; + } + dp_girl(i+1,j,step+1); + dp_girl(i,j+1,step+1); + dp_girl(i-1,j,step+1); + dp_girl(i,j-1,step+1); +} + +void dp_cat(int i,int j,int step) +{ + switch(step) + { + case 1:if(mp[i][j]!='a') return;break; + case 2:if(mp[i][j]!='t') return;else ++cat;return; + } + dp_cat(i+1,j,step+1); + dp_cat(i,j+1,step+1); + dp_cat(i-1,j,step+1); + dp_cat(i,j-1,step+1); +}//// +int main() +{ + int t; + scanf("%d",&t); + while(t--) + { + int n,m; + scanf("%d %d",&n,&m); + cat=0; + girl=0; + memset(mp,0,1024*1024); + for(int i=1;i<=n;i++) + { + scanf("%s",&mp[i][1]); + } + for(int i=1;i<=n;i++) + { + for(int j=1;j<=m;j++) + { + if(mp[i][j]=='g') dp_girl(i,j,0); + else if(mp[i][j]=='c') dp_cat(i,j,0); + } + } + printf("%d %d\n",girl,cat); + } + return 0; +}