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 現在你想買一些物...