小学nb2012-1傻瓜电梯帕斯卡
类型
记录=记录
t,s,e:整数
结束;
增值转销公司
arr:array[1..100]?的?rec
n,x,I,时间:整数;
程序?qs(l,r:整数);
定义变量
I,j,x:整数;
tmp:rec;
开始
I:= l;
j:= r;
x:=arr[(l+r)?div?2].t;
重复
什么时候?(我& ltr)?然后呢。(arr[i]。t & ltx)?做什么?inc(一);
什么时候?(j & gtl)?然后呢。(arr[j]。t & gtx)?做什么?第十届会议;
如果?我& lt=j?然后
开始
tmp:= arr[I];
arr[I]:= arr[j];
arr[j]:= tmp;
inc(一);
第十届会议
结束
直到?我& gtj;
如果?我& ltr?然后呢?qs(i,r);
如果?l & ltj?然后呢?qs(l,j)
结束;
开始
assign(输入,' dianti . in ');
赋值(output,' dianti . out ');
复位(输入);
重写(输出);
readln(x,n);
为了什么?我:=1?去哪?n?做
开始
读(arr[i]。t,arr[i]。s,arr[i]。e);
readln
结束;
qs(1,n);
时间:= 0;
为了什么?我:=1?去哪?n?做
开始
如果?x & lt& gtarr[i]。s?然后
时间:=time+abs(x-arr[i]。s)* 3+6;
time:=time+abs(arr[i]。s-arr[i]。e)* 3+6;
如果?我& ltn?然后
如果?arr[i+1]。t & gt时间?然后
时间:=arr[i+1]。t;
x:=arr[i]。e
结束;
writeln(时间);
关闭(输入);
关闭(输出)
这个问题我用的是模拟的方法,希望能帮到你。