Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int i,j,t,tt,n,f[111][111],md=1000007;
- char s[111][111];
- bool q;
- int main() {
- scanf("%d",&tt);
- for (t=1; t<=tt; t++) {
- scanf("%d",&n); q=true;
- for (i=0; i<n; i++) scanf("%s",s[i]);
- for (i=0; i<n && q; i++) for (j=0; j<n && q; j++) {
- f[i][j]=0;
- if (s[i][j]=='B') continue;
- if (i>0) {
- if (j>0) { f[i][j]+=f[i-1][j-1]; if (f[i][j]>=md) f[i][j]-=md; }
- if (j<n-1) { f[i][j]+=f[i-1][j+1]; if (f[i][j]>=md) f[i][j]-=md; }
- } else f[i][j]=int(s[i][j]!='B');
- if (i>1 && j>1 && s[i-1][j-1]=='B') { f[i][j]+=f[i-2][j-2]; if (f[i][j]>=md) f[i][j]-=md; }
- if (i>1 && j<n-2 && s[i-1][j+1]=='B') { f[i][j]+=f[i-2][j+2]; if (f[i][j]>=md) f[i][j]-=md; }
- if (s[i][j]=='W') { printf("Case %d: %d\n",t,f[i][j]); q=false; break; }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement