1. 程式人生 > >【刷題小記67】三角形面積

【刷題小記67】三角形面積

描述 給你三個點,表示一個三角形的三個頂點,現你的任務是求出該三角形的面積
輸入
每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。(座標值都在0到10000之間)
輸入0 0 0 0 0 0表示輸入結束
測試資料不超過10000組
輸出

輸出這三個點所代表的三角形的面積,結果精確到小數點後1位(即使是整數也要輸出一位小數位)

分析:用向量法簡單,向量的叉乘在定義上有:兩個向量進行叉乘得到的是一個向量,方向垂直於這兩個向量構成的平面,大小等於這兩個向量組成的平行四邊形的面積。這樣就可以通過先求向量AB(x2-x1,y2-y1)AC(x3-x1,y3-x3)然後求ABxAC(求AB AC的行列式)然後將結果的絕對值除以2.

#include <stdio.h>
#include <stdlib.h>

int area(int x0,int y0,int x1,int y1,int x2,int y2)

{
	return x0*y1+x2*y0+x1*y2-x0*y2-x1*y0-x2*y1;
}

int main()
{
	int x0,y0,x1,y1,x2,y2;
	 while(1)
	{
		scanf("%d %d %d %d %d %d",&x0,&y0,&x1,&y1,&x2,&y2);
		if(x0+y0+x1+y1+x2+y2==0)
			break;
		printf("%.1f\n",fabs(area(x0,y0,x1,y1,x2,y2))/2.0);
	 }
	return 0;
}


相關推薦

小記67三角形面積

描述 給你三個點,表示一個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。(座標值都在0到10000

小記77開燈問題

描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關閉),依此類推

小記62單詞量

描述 笨小熊的詞彙量很小,所以每次做英語選擇題的時候都很頭疼。但是他找到了一種方法,經試驗證明,用這種方法去選擇選項的時候選對的機率非常大!  這種方法的具體描述如下:假設maxn是單詞中出現次數

之路矩陣最小路徑

有一個矩陣map,它每個格子有一個權值。從左上角的格子開始每次只能向右或者向下走,最後到達右下角的位置,路徑上所有的數字累加起來就是路徑和,返回所有的路徑中最小的路徑和。 給定一個矩陣map及它的行數n和列數m,請返回最小路徑和。保證行列數均小於等於100. 經典動態

python Leetcode小記No.1 兩數之和

Leetcode 1 題目描述: 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + n

poj1753Flip Game計劃

not osi ack accepted scrip flag notes ram white Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions:

poj 2488 A Knight's Journey dfs字典序計劃

different step center latin repr 順序 void 水題 eof A Knight‘s Journey Time Limit: 1000MS Memory Limit: 65536K Total Submis

BZOJ 3667 Rabin-Miller算法

click solution long 輸出 算法 概率 lap srand template Input 第一行:CAS,代表數據組數(不大於350),以下CAS行,每行一個數字,保證在64位長整形範圍內,並且沒有負數。你需要對於每個數字:第一,檢驗是否是質數,是質

BZOJ 3994 [SDOI2015]約數個數和

name max ima a* register eof void rip 數據 Description 設d(x)為x的約數個數,給定N、M,求 Input 輸入文件包含多組測試數據。 第一行,一個整數T,表示測試數據的組數。 接下來的T行,每行兩個整數N、M。 Out

BZOJ 3930 [CQOI2015]選數

枚舉 () AD 方式 logs sam span mark 目的 Description 我們知道,從區間[L,H](L和H為整數)中選取N個整數,總共有(H-L+1)^N種方案。小z很好奇這樣選出的數的最大公約數的規律,他決定對每種方案選出的N個整數都求一次最大公約數,

洛谷 P3834 模板可持久化線段樹 1(主席樹)

!= tchar 這樣的 信息 reg har mem hair define 題目背景 這是個非常經典的主席樹入門題——靜態區間第K小 數據已經過加強,請使用主席樹。同時請註意常數優化 題目描述 如題,給定N個正整數構成的序列,將對於指定的閉區間查詢其區間內的第K小值。

BZOJ 3524 [Poi2014]Couriers

last void -- 表示 一個數 amp con 出現 pos Description 給一個長度為n的序列a。1≤a[i]≤n。 m組詢問,每次詢問一個區間[l,r],是否存在一個數在[l,r]中出現的次數大於(r-l+1)/2。如果存在,輸出這個數,否則輸出0。

BZOJ 1926 [Sdoi2010]粟粟的書架

數組 down 100% min include long long 矩陣 sdoi2010 喜歡 Description 幸福幼兒園 B29 班的粟粟是一個聰明機靈、乖巧可愛的小朋友,她的愛好是畫畫和讀書,尤其喜歡 Thomas H. Cormen 的文章。粟粟家中有一個

BZOJ 3295 [Cqoi2011]動態逆序對

順序 fin sizeof put bit ons 就是 mat getchar() Description 對於序列A,它的逆序對數定義為滿足iAj的數對(i,j)的個數。給1到n的一個排列,按照某種順序依次刪除m個元素,你的任務是在每次刪除一個元素之前統計整個序列的逆序

BZOJ 3262 [HNOI2008]GT考試

gpo operator max markdown 一位 枚舉 return 思想 設計 Description 阿申準備報名參加GT考試,準考證號為N位數X1X2....Xn(0<=Xi<=9),他不希望準考證號上出現不吉利的數字。 他的不吉利數學A1A2..

BZOJ 2190 [SDOI2008]儀仗隊

AD 100% puts IT gist logs www sample blog Description 作為體育委員,C君負責這次運動會儀仗隊的訓練。儀仗隊是由學生組成的N * N的方陣,為了保證隊伍在行進中整齊劃一,C君會跟在儀仗隊的左後方,根據其視線所及的學生人數來

BZOJ 2002 [Hnoi2010]Bounce 彈飛綿羊

roo double ces AR body ++i () 刷題 min Description 某天,Lostmonkey發明了一種超級彈力裝置,為了在他的綿羊朋友面前顯擺,他邀請小綿羊一起玩個遊戲。遊戲一開始,Lostmonkey在地上沿著一條直線擺上n個裝置,每個裝置

BZOJ 2049 [Sdoi2008]Cave 洞穴勘測

pty 手工 span clas 之間 十分 roo link bool Description 輝輝熱衷於洞穴勘測。某天,他按照地圖來到了一片被標記為JSZX的洞穴群地區。經過初步勘測,輝輝發現這片區域由n個洞穴(分別編號為1到n)以及若幹通道組成,並且每條通道連接了恰好

BZOJ 2816 [ZJOI2012]網絡

size stack swap pty ota rip ++ gpo -m Description http://www.lydsy.com/JudgeOnline/upload/zjoi2012.pdf Solution 維護樹上聯通塊的信息,支持動態加邊刪邊 LCT 總

UOJ #274 清華集訓2016溫暖會指引我們前行

AR OS 每次 另一個 ems 身體 慢慢 又一 最大 寒冬又一次肆虐了北國大地 無情的北風穿透了人們禦寒的衣物 可憐蟲們在冬夜中發出無助的哀嚎 “凍死寶寶了!” 這時 遠處的天邊出現了一位火焰之神 “我將賜予你們溫暖和希望!” 只見他的身體中噴射出火焰之力 通過堅固的鋼