• Source
    1. #include<bits/stdc++.h>
    2.  
    3. using namespace std;
    4.  
    5. int cum_sum[105];
    6.  
    7. char grid[105][105];
    8.  
    9. int main()
    10. {
    11. int test,row,col,i,j,k,mx,koyta,mn,ans;
    12.  
    13. scanf("%d",&test);
    14.  
    15. getchar();
    16.  
    17. getchar();
    18.  
    19. while(test--)
    20. {
    21. i = 0;
    22.  
    23. for(;;)
    24. {
    25. gets(grid[i]);
    26.  
    27. if(grid[i][0]=='\0')
    28. break;
    29.  
    30. i++;
    31. }
    32.  
    33. row = col = i;
    34.  
    35. ans = 0;
    36.  
    37. for(i=0; i<row; i++)
    38. {
    39. for(j=0; j<col; j++)
    40. {
    41. if(grid[i][j]!='0')
    42. {
    43. cum_sum[j]+=(grid[i][j]-48);
    44. }
    45. else
    46. {
    47. cum_sum[j] = 0;
    48. }
    49. }
    50.  
    51. for(j=0; j<col; j++)
    52. {
    53. koyta = mn = 0;
    54.  
    55. if(cum_sum[j]==0)
    56. {
    57. koyta = 0;
    58. }
    59. else
    60. {
    61. mn = cum_sum[j];
    62.  
    63. for(k=j; k<col; k++)
    64. {
    65. if(cum_sum[k]==0)
    66. break;
    67.  
    68. mn = min(mn,cum_sum[k]);
    69.  
    70. koyta++;
    71. }
    72. }
    73.  
    74. mx = mn*koyta;
    75.  
    76. ans = max(ans,mx);
    77. }
    78. }
    79.  
    80. printf("%d\n",ans);
    81.  
    82. if(test)
    83. puts("");
    84.  
    85. memset(cum_sum,0,sizeof(cum_sum));
    86. }
    87.  
    88. return 0;
    89. }