pascal,二维数组的布尔型怎么做?系统总是说不兼容boolean类型。

将一个未知区域用二维数组布尔型赋值为true?(二维矩形的面积范围为true)... 将一个未知区域用二维数组布尔型赋值为true?(二维矩形的面积范围为true) 展开
 我来答
蚊子死神
2011-11-13 · 超过34用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:79.5万
展开全部
哈 今年NOIPday1第一题吧。你的解法是错误的,这是个模拟题,很简单的说。判断X,Y是否在题目所给的区间,在的话就更新地毯编号,不在就不更新。你这么做不行。内存开不下
追问
“判断X,Y是否在题目所给的区间,在的话就更新地毯编号,不在就不更新。”
我就是这个思路,为什么内存开不下呢? 如果按我的思路,该怎么编呢?
追答
嗯~~~思路是对的,你打算怎么编写呢?
如果是开个BOOLEAN,看下题目的数据范围,我记不到了,估计是100000*100000
这个是很大的开销,题目只给了128M 如果是这个开法~~那么就是1000M,怎么可能过,如果是10000*10000 这个估计刚好100M左右,可以卡过内存,但是你怎么记录呢?他要求覆盖的最后一张地毯,而你是只能标记这个地毯是否被覆盖过。而且如果老实去做,像上面那样,一个区域,一个区域去找,那么绝对超时,不用想的事情。
正确的做法,应该是先把他给的地毯保存下来。然后读入X,Y。用一个变量来记录最后一个地毯。
按他所给的地毯编号,进行处理。伪代码如下。
k:=0;
for i:=1 to n do
if (x>=map[i].a)and(a=y)then k:=i;
if k0 then writeln(k)
else writeln(-1);
话说我做这道题的时候,还犯了一个小错误,幸亏最后几分钟检查出来了,当时吓死我了。大致就是这样。如果还有不懂,可以继续问我哈
Cruisea
2011-11-12 · TA获得超过335个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:492万
展开全部
把你的代码贴出来吧, 不然不好说.
大致上应该是这个样子的:
for i := a to a+k do
for j := b to b+g do
a[i, j] := true;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式