fork download
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <algorithm>
  5. using namespace std;
  6.  
  7. int main() {
  8. int t, n, a[1010][1010], x, y;
  9. char s[1000];
  10. scanf("%d", &t);
  11. while(t--) {
  12. memset(a, 0, sizeof(a));
  13. scanf("%d", &n);
  14. for(int i=0; i<n; i++) {
  15. scanf("%s", s);
  16. for(int j=0; j<n; j++) {
  17. if(s[j]=='P') a[i+5][j+5]++;
  18. else if(s[j]=='K') x=i+5, y=j+5;
  19. }
  20. }
  21. for(int j=n+4; j>=y; j--) {
  22. for(int i=n+4; i>4; i--) {
  23. a[i][j]+=max(max(a[i+1][j+2], a[i+2][j+1]), max(a[i-1][j+2], a[i-2][j+1]));
  24. }
  25. }
  26. printf("%d\n", a[x][y]);
  27. }
  28. return 0;
  29. }
Success #stdin #stdout 0s 7208KB
stdin
1
9
PPPPPPPPP
PPPPPPPPP
PPPPPPPPP
KPPPPPPPP
PPPPPPPPP
PPPPPPPPP
PPPPPPPPP
PPPPPPPPP
PPPPPPPPP
stdout
8