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

本文介绍了一种用于分析垃圾点周围环境的算法,通过判断每个垃圾点四周及对角线方向上是否存在其他垃圾点,统计了不同情况下垃圾点的分布特征。此算法涉及数据结构与算法设计,对理解环境数据处理和空间分析有帮助。

在这里插入图片描述

#include<bits/stdc++.h>
#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);
}

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值