Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 2nd problem in SRM494
- //Could u tell it's TIME LIMIT EXCEEDED?!
- import java.util.*;
- import java.util.regex.*;
- import java.text.*;
- import java.math.*;
- public class Painting
- {
- public int largestBrush(String[] p)
- {
- boolean pass[]=new boolean[501];
- int i,j,k;
- int g[][]=new int[51][51];
- for(i=0;i<p.length;i++)
- {
- for(j=0;j<p[i].length();j++)
- {
- g[i][j]=0;
- if(i>0)
- g[i][j]+=g[i-1][j];
- if(j>0)
- g[i][j]+=g[i][j-1];
- if( j>0 && i>0)
- g[i][j]-=g[i-1][j-1];
- if(p[i].charAt(j)=='B') g[i][j]++;
- // System.out.print(g[i][j]+" ");
- }
- // System.out.println();
- }
- System.out.println("\n\n");
- int res=1,t;
- Arrays.fill(pass,true);
- for(k=0;k<p.length;k++)
- {
- for(i=0;i+k<p.length;i+=k)
- {
- for(j=0;j+k<p[i].length();j+=k)
- {
- t=g[i+k][j+k];
- if(i>0)
- t-=g[i-1][j+k];
- if(j>0)
- t-=g[i+k][j-1];
- if(i>0 && j>0)
- t+=g[i-1][j-1];
- if( t !=(k+1)*(k+1))
- pass[k+1]=false;
- }
- }
- }
- for(i=p.length;i>0;i--)
- if(pass[i]) return i;
- return 1;
- }
- <%:testing-code%>
- }
- //Powered by KawigiEdit 2.1.8 (beta) modified by pivanof!
Advertisement
Add Comment
Please, Sign In to add comment