问题描述:
思路:
题目测试数据较大,开个特别大的二维数组明显不对,但垃圾堆的个数n最大才1000的,每次查找遍历1000个数组,对计算机运算压力不大。
因此可以开个二维数组 rubbish[n][2],
n代表垃圾堆个数,rubbish[n][0]表示x坐标,rubbish[n][1]表示y坐标
查看某点是否具有垃圾堆,遍历垃圾堆数组即可。
代码:
#include <stdio.h>
/*垃圾堆最多有1000个,且需要两个数存储坐标,
这两个数绝对值都不大于10^9,所以用int二维数组即可
rubbish[*][0]储存x坐标,rubbish[*][1]储存y坐标
'*'代表任意序号的垃圾堆*/
int rubbish[1000][2];
//通过遍历每个垃圾堆的坐标是否与给定坐标相同,判断给定坐标位置是否有垃圾堆
//x,y表示给定坐标,n代表垃圾堆的个数
int findRubbish(int x, int y, int n)
{
for (int i = 0; i < n; i++)
{
if (rubbish[i][0] == x && rubbish[i][