fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. using namespace std;
  4. int main()
  5. {
  6. ll tc,n,jwb,jmlh,ta,tr,tn,tb,maxi;
  7. bool bo;
  8. char x[2005][2005];
  9. scanf("%lld",&tc);
  10. for (ll a=1;a<=tc;a++)
  11. {
  12. scanf("%lld",&n);
  13. maxi=(n+1)/2;
  14. jwb=-1;
  15. memset(x,0,sizeof(x));
  16. for (ll b=1;b<=n;b++) for (ll c=1;c<=n;c++) scanf("%lld",&x[b][c]);
  17. for (ll b=1;b<=n;b++)
  18. {
  19. for (ll c=1;c<=n;c++)
  20. {
  21. tr=tn=c; ta=tb=b;
  22. jmlh=0;
  23. if (x[b][c]=='#')
  24. {
  25. if (jwb==-1 || (jwb!=-1 && n-b>jwb && n-c>jwb) )
  26. {
  27. if (jwb==-1) jwb=1;
  28. while(1)
  29. {
  30. if (x[ta-1][c]=='.' || x[tb+1][c]=='.' || x[b][tn+1]=='.' || x[b][tr-1]=='.') break;
  31. ta--; tb++; tn++; tr--;
  32. }
  33. jmlh=tb-b;
  34. if (jmlh==maxi)
  35. {
  36. jwb=maxi; break;
  37. }
  38. jwb=max(jwb,jmlh);
  39. }
  40. }
  41. }
  42. if (jwb==maxi) break;
  43. }
  44. printf("%lld\n",jwb);
  45. }
  46. }
Success #stdin #stdout 0.01s 7692KB
stdin
4
5
..#..
..#.#
#####
..#.#
..#..
3
..#
#.#
#.#
4
##.#
####
##.#
#..#
4
####
####
####
####
stdout
-1
-1
-1
-1