201912-2回收站选址

#include<iostream>
#include<stdio.h>
/*
1/n个数据,a[1000][2]
2/输入数据行,a[i][0],a[i][1],1<=i<=n
3/判断四周是否有垃圾,b[1000]数组 
4/判断对角线,count,c[5]
5/输出 
6/n<1000
*/

int main(){
	int n,a[1000][2];
	int b[1000]={0}, c[5]={0};
	scanf("%d",&n);
	for(int i=0;i<n;++i){
		scanf("%d%d",&a[i][0],&a[i][1]);
	}
	for(int i=0;i<n;++i){
		for(int j=i+1;j<n;++j){
			if((a[i][0]==a[j][0]&&a[i][1]==a[j][1]+1)
			||(a[i][0]==a[j][0]&&a[i][1]==a[j][1]-1)
			||(a[i][0]==a[j][0]-1&&a[i][1]==a[j][1])
			||(a[i][0]==a[j][0]+1&&a[i][1]==a[j][1]))//每个坐标值和其他所有坐标值都比较一遍 
			{
			b[i]++;//比较的双方同时加 
			b[j]++;
			} //判断四周是否有垃圾,b[1000]数组 
		}
	}
	//对角线 
	for(int i=0;i<n;++i){
		int count=0;
		if(b[i]==4){
		for(int j=0;j<n;++j){
			if((a[i][0]==a[j][0]+1&&a[i][1]==a[j][1]+1)||(a[i][0]==a[j][0]+1&&a[i][1]==a[j][1]-1)||
				(a[i][0]==a[j][0]-1&&a[i][1]==a[j][1]+1)||(a[i][0]==a[j][0]-1&&a[i][1]==a[j][1]-1))
			count++;
		} //有多余遍历但无伤大雅 
		c[count]++;	
		}
	}
	for(int i=0;i<5;++i){
		printf("%d\n",c[i]);
	}
	return 0;
} 


原创文章 7 获赞 0 访问量 89

猜你喜欢

转载自blog.csdn.net/weixin_46148956/article/details/106176673