社区讨论

求助大神解答 Orz

P2313[HNOI2005] 汤姆的游戏参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi5h8ilz
此快照首次捕获于
2025/11/19 12:02
4 个月前
此快照最后确认于
2025/11/19 12:02
4 个月前
查看原帖
CPP
var
    f:array[1..10001] of char;
    x,y,x1,y1,x2,y2,a,b,r:array[1..10001] of extended;
    i,j,sum,n,m:longint;
begin
    readln(n,m);
    for i:=1 to n do begin
        read(f[i]);
        if f[i]='r' then begin
            read(x1[i],y1[i],x2[i],y2[i]);
            readln;
        end
        else begin
            read(a[i],b[i],r[i]);
            readln;
        end;
    end;
    for i:=1 to m do begin
        readln(x[i],y[i]);
        sum:=0;
        for j:=1 to n do begin
            if f[j]='r' then begin
                if (x[i]>=x1[j])and(x[i]<=x2[j])and(y[i]>=y1[j])and(y[i]<=y2[j]) then inc(sum);
            end
            else begin
                if sqrt(abs(x[i]-a[j]))+sqrt(abs(y[i]-b[j]))<=r[i] then inc(sum);
            end;
        end;
        writeln(sum);
    end;
end.

回复

1 条回复,欢迎继续交流。

正在加载回复...