小灰灰的籠外領地
【題目描述】
小灰灰在某天吃飽喝足後爬出了自己的籠子出來做運動。小灰灰作為實驗室的明星鼠,大家當然不能讓它去一些危險的地方,因此春陽哥就在小灰灰籠前的平地上按照順時針順序點了幾個點,並用線將其順時針連線了起來。醬,小灰灰就擁有了乙個屬於自己的安全的「籠外領地」啦!
小灰灰在領地中逛久了自然感覺無趣,因此,它想要做一些有挑戰的事情——寫個程式算出來它的領地究竟有多大!然而,小灰灰實在是太小了,甚至連鍵盤的鍵都按不下去,所以它只好來請你幫助他完成這個任務咯!
【輸入描述】
第一行乙個整數t,表示有t(1<=t<=20)組資料。
對於每組資料:
第一行兩個整數n ( 1 ≤ n≤10,000),表示春陽哥點了n個點。
接下來n行,每行兩個實數x,y ( |x|,|y| ≤ 1,000),表示點的橫縱座標。
點以順時針順序給出,輸入資料保證圖形為多邊形。
【輸出描述】
對於每組資料,輸出乙個實數,表示小灰灰的領地面積。
輸出保留兩位小數。
樣例輸入
1
31 1
1 22 2
樣例輸出
0.50
code:
#include#includeusing namespace std;
double ans;
int n;
struct point
a[1000005];
int main()
ans=0;
for(int i=2; i<=n; i++)
ans+=(double)(a[i].x*a[i-1].y-a[i].y*a[i-1].x)/2.0;
ans+=(double)(a[1].x*a[n].y-a[1].y*a[n].x)/2.0;
if(ans<0.0)
ans=-ans;
printf("%.2lf\n",ans);
}return 0;
}
公式:
for(int i=2; i<=n; i++)
ans+=(double)(a[i].x a[i-1].y-a[i].y a[i-1].x)/2.0;
ans+=(double)(a[1].xa[n].y-a[1].ya[n].x)/2.0;
計蒜客 小 B 的題目
小 b 給小 a 出了這樣一道題 給定乙個長為 nn 的序列 aa 和乙個長為 mm 的序列 bb,在 aa 和 bb 中各取乙個數相加,可以得到 n times mn m 個數,他想知道把這些數從小到大排序,第 kk 個數是多少 下標從 11 開始 小 a 不會做,他想讓你幫他解決這個問題。第一行...
計蒜客 小z的合影
題目描述 現在,請幫助小z和更多的小朋友合影。輸入描述 輸入包含多組資料。每組資料的第一行有兩個整數n和k,1 n 10000,1 k 10000,表示有n個小朋友,小z手裡有k個氣球。下面有n行,每行兩個整數ai和bi,1 ai,bi 100000000,表示第i的小朋友有ai個棒棒糖,希望與至少...
計算客444 (2015計蒜之道 京東的物流路徑)
題目鏈結 作為乙個電子商務為主體的公司,京東一直努力實現自己 多 快 好 省 的承諾。其中,快 的特質更是被京東發揮到了極致。京東建立了乙個非常高效的物流網路,物流網路構成了乙個樹結構,由很多的物流點和將物流點鏈結起來的道路組成。京東物流網路中每個物流點有乙個權值 di,物流點間的道路也都有乙個權值...