满分代码
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#pragma warning(disable:4996)
using namespace std;
struct str {
int x;
int y;
};
int main()
{
int n;
scanf("%d", &n);
str arr[1001];
for (int i = 0; i < n; i++) {
scanf("%d %d", &arr[i].x, &arr[i].y);
}
int flag1 = 0, flag2 = 0, flag3 = 0, flag4 = 0;
int sum = 0;
int ret[5] = { 0 };
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if ((arr[i].x == arr[j].x) && (arr[i].y + 1 == arr[j].y)) {
flag1 = 1;
break;
}
}
if (flag1 == 1) {
for (int j = 0; j < n; j++) {
if ((arr[i].x == arr[j].x) && (arr[i].y - 1 == arr[j].y)) {
flag2 = 1;
break;
}
}
}
if (flag2 == 1) {
for (int j = 0; j < n; j++) {
if ((arr[i].x - 1 == arr[j].x) && (arr[i].y == arr[j].y)) {
flag3 = 1;
break;
}
}
}
if (flag3 == 1) {
for (int j = 0; j < n; j++) {
if ((arr[i].x + 1 == arr[j].x) && (arr[i].y == arr[j].y)) {
flag4 = 1;
break;
}
}
}
if (flag4 == 1) {
for (int j = 0; j < n; j++) {
if ((arr[i].x - 1 == arr[j].x) && (arr[i].y + 1 == arr[j].y)) {
sum++;
break;
}
}
for (int j = 0; j < n; j++) {
if ((arr[i].x - 1 == arr[j].x) && (arr[i].y - 1 == arr[j].y)) {
sum++;
break;
}
}
for (int j = 0; j < n; j++) {
if ((arr[i].x + 1 == arr[j].x) && (arr[i].y + 1 == arr[j].y)) {
sum++;
break;
}
}
for (int j = 0; j < n; j++) {
if ((arr[i].x + 1 == arr[j].x) && (arr[i].y - 1 == arr[j].y)) {
sum++;
break;
}
}
ret[sum]++;
}
flag1 = 0, flag2 = 0, flag3 = 0, flag4 = 0;
sum = 0;
}
for (int i = 0; i < 5; i++) {
printf("%d\n", ret[i]);
}
return 0;
}