玲瓏oj1143 計算幾何你瞎暴力

2021-09-30 16:21:46 字數 1643 閱讀 2277

1143 - 計算幾何你瞎暴力

time limit:5s

memory limit:256mbyte

submissions:1786solved:354

description 今天

hhhh考完了期末考試,他在教學樓裡閒逛,他看著教學樓裡一間間的教室,於是開始思考:

如果從乙個座標為 (x

1,y1

,z1)

(x1,y1,z1)

的教室走到(x

2,y2

,z2)

(x2,y2,z2)

的距離為 |x

1−x2

|+|y

1−y2

|+|z

1−z2

||x1−x2|+|y1−y2|+|z1−z2|

那麼有多少對教室之間的距離是不超過rr

的呢?

input

第一行是乙個整數

t(1≤t≤10

)t(1≤t≤10)

, 表示有

tt組資料接下來是

tt組資料,對於每組資料:第一行是兩個整數

n,q(1≤n

≤5×10

4,1≤

q≤103

)n,q(1≤n≤5×104,1≤q≤103)

, 表示有

nn間教室,

qq次詢問.接下來是

nn行, 每行3個整數

xi,yi,z

i(0≤

xi,y

i,zi

≤10)xi,yi,zi(0≤xi,yi,zi≤10)

,表示這間教室的座標.最後是

qq行,每行乙個整數

r(0≤r≤10

9)r(0≤r≤109)

,意思見描述.

output

對於每個詢問

rr輸出一行乙個整數,表示有多少對教室滿足題目所述的距離關係.

sample input 1

3 30 0 0

1 1 1

1 1 112

3sample output

113hint

對於樣例,1號教室和2號教室之間的距離為3, 1號和3號之間的距離為3, 2號和3號之間的距離為0

題解思路:考慮到座標的範圍非常小,我們可以統計每乙個點有多少個教室,然後列舉座標預處理答案,然後做乙個字首和即可,要小心r的範圍;

**:#include#include#includeusing namespace std;

typedef long long ll;

int pos[15][15][15];

struct node

p[11000];

ll a[50],sum[50];

int dis(int a,int b)

ll c(int a,int b)

int main()

// for(int i=0;i<5;i++)

// printf("%d %d\n",i,a[i]);

//預處理字首和;

sum[0]=a[0];

for(int i=1;i<50;i++)

sum[i]=sum[i-1]+a[i];

for(int i=0;i

玲瓏杯1143 計算幾何你瞎暴力

1143 計算幾何你瞎暴力 time limit 5s memory limit 256mbyte submissions 1735solved 341 description 今天 hhhh考完了期末考試,他在教學樓裡閒逛,他看著教學樓裡一間間的教室,於是開始思考 如果從乙個座標為 x 1,y1 ...

幾何 玲瓏oj1131

1131 喵哈哈村的幾何大師 莣 誋 月 time limit 1s memory limit 256mbyte submissions 318solved 72 description 莣 誋 月是月大叔的id,他是乙個掌握著429種幾何畫法的的幾何大師,最擅長的技能就是搞事,今天他又要開始搞事了...

玲瓏oj 1125 鹹魚商店

1125 鹹魚商店 time limit 3s memory limit 256mbyte submissions 276solved 116 description 你現在在鹹魚商店,你有m元錢。鹹魚商店有n個物品,每個物品有兩個屬性,乙個是他的 s i 另外乙個是他的價值v i 現在你想買一些物...