Submission details
Task:Pizza
Sender:🐟FishyGoldenBeetroot
Submission time:2015-09-30 17:42:14 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.10 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.09 sdetails
#5ACCEPTED0.22 sdetails
#6ACCEPTED0.23 sdetails
#7ACCEPTED0.24 sdetails
#8ACCEPTED0.24 sdetails
#9ACCEPTED0.22 sdetails
#10ACCEPTED0.23 sdetails
#11ACCEPTED0.23 sdetails
#12ACCEPTED0.22 sdetails
#13ACCEPTED0.23 sdetails
#14ACCEPTED0.22 sdetails
#15ACCEPTED0.22 sdetails

Code

#include<bits/stdc++.h>
using namespace std;

int main() {
  int xx[300];
  int yy[300];
  int num = 0;
  for(int a = 0; a < 26; ++a) {
    for(int b = 0; b < 26; ++b) {
      if((a + 1) * (b + 1) <= 26) {
	xx[num] = a;
	yy[num] = b;
	++num;
      }
    }
  } 
  int h, w;
  string m[300];
  cin >> h >> w;
  for(int y = 0; y < h; ++y) {
      cin >> m[y];
  }
  int ans = 0;
  for(int y = 0; y < h; ++y) {
    for(int x = 0; x < w; ++x) {
      for(int i = 0; i < num; ++i) {
	if(y + yy[i] >= h || x + xx[i] >= w) continue;
	int has = 0;
	bool ok = true;
	for(int a = 0; a <= yy[i]; ++a) {
	  for(int b = 0; b <= xx[i]; ++b) {
	    char t = m[y + a][x + b] - 'A';
	    if((has & (1 << t)) != 0) {
	      ok = false;
	    }
	    has |= (1 << t);
	  }
	}
	ans += ok;
      }
    }
  }
  cout << ans << "\n";
  return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
184 87
LRBBMQBHCDARZOWKKYHIDDQSCDXRJM...

correct output
224236

user output
224236

Test 2

Verdict: ACCEPTED

input
27 45
JGFWGHIJQSOQTXXDACDWKJIFPUSGWE...

correct output
16321

user output
16321

Test 3

Verdict: ACCEPTED

input
191 23
NPWSFHCKPTJGFLITCZCZJBE
YYAJAXQMKHIEMPGYFZHNGSV
CVXEWGHCGFCQHZITLPBPBRV
AYWJLFCJHZGNXOXAUECMMEU
...

correct output
59000

user output
59000

Test 4

Verdict: ACCEPTED

input
61 199
PSKALEBUBFINGWBQWONRUYLCYIMNAQ...

correct output
165724

user output
165724

Test 5

Verdict: ACCEPTED

input
200 200
JBAKLCIAQRTWHPANGEIUGENSDHGPGC...

correct output
561705

user output
561705

Test 6

Verdict: ACCEPTED

input
200 200
SVSPWCEXABASBFZEMWAKKWAUIUNAVR...

correct output
565820

user output
565820

Test 7

Verdict: ACCEPTED

input
200 200
UYTHYGQHERHDTLIKRXUJFPBDDAQCPQ...

correct output
562800

user output
562800

Test 8

Verdict: ACCEPTED

input
200 200
WVIFEIMKFUSHVKHLCEDSMACDNVVSQZ...

correct output
557421

user output
557421

Test 9

Verdict: ACCEPTED

input
200 200
SZRAYLLUKXDHTRRCIWYTJCDQBQVTVH...

correct output
562054

user output
562054

Test 10

Verdict: ACCEPTED

input
200 200
IPETLETNADESOVVODINSQWERQFLBRO...

correct output
558431

user output
558431

Test 11

Verdict: ACCEPTED

input
200 200
BCBMFWOTIVPQIENQUWJYAWRYNBCFVV...

correct output
563290

user output
563290

Test 12

Verdict: ACCEPTED

input
200 200
NPTEOLTKVTBXIUWBJEKTDYRWKECVJY...

correct output
564778

user output
564778

Test 13

Verdict: ACCEPTED

input
200 200
IMQXSCUUJBKVLEOAUPGPFOYBCPXCEY...

correct output
559232

user output
559232

Test 14

Verdict: ACCEPTED

input
200 200
YJJWRSXPEKSNBDWCSNUQHJPQTXKYPG...

correct output
557185

user output
557185

Test 15

Verdict: ACCEPTED

input
200 200
AITMXDNVBGXOBSKPKBLJFNOWKBQZZA...

correct output
563009

user output
563009