Looksery Cup 2015 A. Face Detection

http://codeforces.com/problemset/problem/549/A

题意:实现一个面部识别的功能。只要在一个2*2里有“face”四个字母。

比如:

1
2
3
4
5
4 4
xxxx
xfax
xcex
xxxx

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <bits/stdc++.h>
using namespace std;

char s[777][777];

int main() {
int h, w;
scanf("%d %d", &h, &w);
for (int i = 0; i < h; i++) {
scanf("%s", s[i]);
// 每行输入字符串
}
int res = 0;
for (int i = 0; i < h; i++) { // 当然可以 i < h - 1;
for (int j = 0; j < w; j++) { // 当然可以 i < w - 1;
string z = "";
z += s[i][j];
z += s[i][j + 1];
z += s[i + 1][j];
z += s[i + 1][j + 1];
// 遍历ij,和右,下,右下。
sort(z.begin(), z.end());
if (z == "acef") res++;
// “face”排序后一定会变为“acef”。
}
}
printf("%d\n", res);
return 0;
};