CCF-19-12-1-回收站选址

CCF-19-12-1-回收站选址_第1张图片

#include
#define max 1005
using namespace std;
struct L {
     
	int x;
	int y;
};//存放垃圾点坐标
L a[max];
int main() {
     
	int t,j,k;
	int flag=0;//记录是否存在放置垃圾桶的点
	cin >> t;
	for(int i = 0; i < t; i++) {
     
		cin>>j>>k;
		a[i].x=j;
		a[i].y=k;
	}//录入存在的垃圾点
	int f[5]= {
     0,0,0,0,0};
	for(int j = 0; j < t; j++) {
     //逐个判断垃圾点四周是否都存在垃圾点

		int m = a[j].x;
		int n = a[j].y;
		int fl = 0;//四周存在垃圾点个数
		int kl = 0;//对角线存在垃圾点个数

		for(int i = 0; i < t; i++) {
     

			if(m-1==a[i].x && n==a[i].y) {
     
				fl++;
			} else if(m==a[i].x && n-1==a[i].y) {
     
				fl++;
			} else if(m==a[i].x && n+1==a[i].y) {
     
				fl++;
			} else if(m+1==a[i].x && n==a[i].y) {
     
				fl++;
			}

			if(m-1==a[i].x && n-1==a[i].y) {
     
				kl++;
			} else if(m+1==a[i].x && n-1==a[i].y) {
     
				kl++;
			} else if(m-1==a[i].x && n+1==a[i].y) {
     
				kl++;
			} else if(m+1==a[i].x && n+1==a[i].y) {
     
				kl++;
			}
		}

		if(fl==4) {
     
			f[kl]++;
			kl=0;
			fl=0;

		}
	}

	for(int i = 0; i < 5; i++) {
     
		cout<<f[i]<<endl;
	}

	//while(1);
}

总结:这道题考察了一部分数据结构的知识.

你可能感兴趣的:(CCF)