(用pascal语言).

问题描述:

(用pascal语言).
天空上有很多的星星,非常的漂亮.有一天,聪聪看到如此多美丽的星星,便被吸引了.聪聪是个很认真的小朋友,所以他想把这些美丽的星星都记录下来.但是,星星实在太多了,聪聪实在分不清,所以聪聪想出了一个办法来给星星们分类.
聪聪把天空看成了一张地图,并且细心的以东西和南北为坐标轴,为天空建立了一个坐标系.因此,现在每颗星星都有了自己独特的坐标.聪聪给每颗星星一个等级,表示在这颗星星西南边的星星个数.
虽然聪聪有了给星星分类的方式,但是要给如此多的星星分类,实在是个困难的工作,因此聪聪想请厉害的你帮助他.
输入 星星坐标(a,b)(1
1个回答 分类: 综合 2014-10-29

问题解答:

我来补答
楼上的不要不懂装懂,明显是个树状数组的题目
原题:ural1028 (直接在百度里面搜索)
我的代码:(交URAL以后AC的代码)
type point=record
x,y:longint;
end;
var a,b,d,e,f:longint;
star:array[1..15001]of point;
n,max:longint;
c,level:array[0..15001]of longint;
t:array[0..32002]of longint;
procedure init;
begin
max:=0;
n:=0;
readln(n);
fillchar(c,sizeof(c),0);
fillchar(level,sizeof(level),0);
fillchar(t,sizeof(t),0);
for a:=1 to n do begin
readln(star[a].x,star[a].y);
if star[a].x>max then max:=star[a].x;
end;
close(input);
end;
function lowbit(x:longint):longint;
begin
exit(x and (-x));
end;
function sum(x:longint):longint;
var r:longint;
begin
r:=0;
while x>0 do begin
r:=r+t[x];
x:=x-lowbit(x);
end;
exit(r);
end;
procedure insert(x:longint);
begin
while x
展开全文阅读