求救 pascal 的题目

来源:百度知道 编辑:UC知道 时间:2024/06/27 14:16:34
哪里错了?????????????
www.vijos.cn 高效在线测评系统

编译通过...
├ 测试数据 01:答案错误... ├ 标准行输出 6
├ 错误行输出 7
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
-------------------------
Unaccepted 有效得分:90 有效耗时:0ms

program xx;
var
l,m,i,j,k:longint;
a,b:array[1..10000]of longint;
c:packed array [1..10000] of char;
begin
readln(l,m);
for i:=1 to m do
begin
readln(a[i],b[i]);
for j:=a[i] to b[i] do
c[j]:='1';
end;
for i:=1 to l+1 do
if c[i]='1'
then inc(k);
k:=l+1-k;
writeln(k);
end.
++++++++++

几号题目?
校门外的树?

for i:=1 to l+1 do
if c[i]='1'
then inc(k);
k:=l+1-k;
writeln(k);
这段什么意思?看不懂。。
为什么不这样写?
k:=0;
for i:=0 to l do if c[i]='1' then inc(k);
writeln(l-k+1);
然后再改C的定义:
c:packed array [0..10000] of char;

觉得你的程序写的很奇怪。为什么不像我这样写,思路也清晰:

program p1103;
var a:array[0..10000] of boolean;
l,m:integer;
i,c,b,sum:integer;
begin
readln(l,m);
fillchar(a,sizeof(a),true);
for i:=1 to m do begin
readln(c,b);
for c:=c to b do a[c]:=false;
end;
sum:=0;
for i:=0 to l do if a[i] then inc(sum);
writeln(sum);
end.