Submission details
Task:Pizza
Sender:∂(Skill)/∂W ≤ 0
Submission time:2015-09-30 18:22:36 +0300
Language:Java
Status:READY
Result:
Test results
testverdicttime
#10.60 sdetails
#20.29 sdetails
#30.43 sdetails
#40.41 sdetails
#51.12 sdetails
#61.02 sdetails
#71.03 sdetails
#81.03 sdetails
#91.05 sdetails
#101.04 sdetails
#111.04 sdetails
#121.02 sdetails
#131.04 sdetails
#141.03 sdetails
#151.03 sdetails

Code


import java.util.*;

public class Kk42 {

    
    public static void main(String[] args) {
        Scanner io = new Scanner(System.in);
        int n,m;
        n = io.nextInt();
        m = io.nextInt();
        char[][] p = new char[n][m];
        io.nextLine();
        
        for(int i=0;i<n;i++){
            p[i] = io.nextLine().toCharArray();
        }
        System.out.println(m(p));
    }

    private static long m(char[][] p) {
        long s =0;
        int n = p.length;
        int m = p[0].length;
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                s+=subrec(p,i,j);
            }
        }
        
        return s;
    }
    
    private static long subrec(char[][] p, int i, int j){
        long s=0;
        int n = p.length;
        int m = p[0].length;
        boolean b =true;
        int maxl = m-j;
        for(int k=0;k<n-i;k++){
            for(int l=0;l<maxl;l++){
                if(k*l>26){
                    continue;
                }
                HashSet<Character> cs = new HashSet<>();
                bar:
                for(int y=i;y<=i+k;y++){
                    for(int x=j;x<=j+l;x++){
                        if(cs.contains(p[y][x])){
                            b=false;
                            maxl=x-j+1;
                            break bar;
                        } else{
                            cs.add(p[y][x]);
                        }
                    }                    
                }
                if(b){s++;}
                
                b=true;
                
            }
        }
        
        
        return s;
        
        
    }
    
}

Test details

Test 1

Verdict:

input
184 87
LRBBMQBHCDARZOWKKYHIDDQSCDXRJM...

correct output
224236

user output
221137

Test 2

Verdict:

input
27 45
JGFWGHIJQSOQTXXDACDWKJIFPUSGWE...

correct output
16321

user output
16074

Test 3

Verdict:

input
191 23
NPWSFHCKPTJGFLITCZCZJBE
YYAJAXQMKHIEMPGYFZHNGSV
CVXEWGHCGFCQHZITLPBPBRV
AYWJLFCJHZGNXOXAUECMMEU
...

correct output
59000

user output
58247

Test 4

Verdict:

input
61 199
PSKALEBUBFINGWBQWONRUYLCYIMNAQ...

correct output
165724

user output
163549

Test 5

Verdict:

input
200 200
JBAKLCIAQRTWHPANGEIUGENSDHGPGC...

correct output
561705

user output
554053

Test 6

Verdict:

input
200 200
SVSPWCEXABASBFZEMWAKKWAUIUNAVR...

correct output
565820

user output
558181

Test 7

Verdict:

input
200 200
UYTHYGQHERHDTLIKRXUJFPBDDAQCPQ...

correct output
562800

user output
555155

Test 8

Verdict:

input
200 200
WVIFEIMKFUSHVKHLCEDSMACDNVVSQZ...

correct output
557421

user output
549656

Test 9

Verdict:

input
200 200
SZRAYLLUKXDHTRRCIWYTJCDQBQVTVH...

correct output
562054

user output
554211

Test 10

Verdict:

input
200 200
IPETLETNADESOVVODINSQWERQFLBRO...

correct output
558431

user output
551208

Test 11

Verdict:

input
200 200
BCBMFWOTIVPQIENQUWJYAWRYNBCFVV...

correct output
563290

user output
555333

Test 12

Verdict:

input
200 200
NPTEOLTKVTBXIUWBJEKTDYRWKECVJY...

correct output
564778

user output
556776

Test 13

Verdict:

input
200 200
IMQXSCUUJBKVLEOAUPGPFOYBCPXCEY...

correct output
559232

user output
551666

Test 14

Verdict:

input
200 200
YJJWRSXPEKSNBDWCSNUQHJPQTXKYPG...

correct output
557185

user output
549787

Test 15

Verdict:

input
200 200
AITMXDNVBGXOBSKPKBLJFNOWKBQZZA...

correct output
563009

user output
555380