先把所有的三角形的點和他們之間產生的交點求出來,按x軸從小到大排序,然後每相鄰的兩個點會產生乙個區間,在該區間中,從y軸最上面往下掃瞄,如果碰到進入三角形的邊,當前state++,表示重合數+1,如果碰到乙個離開三角形的邊,當前state--,表示重合數-1,對於每次碰到乙個三角形的邊,求出該邊在這個區間中的上方的距離,要麼是梯形,要麼是三角形。
#include #include #include #include #include #include #define eps 1.0e-8
#define zero(x) (((x)>0?(x):-(x))min(b.a.y,b.b.y);
}return max(a.a.y,a.b.y) > max(b.a.y,b.b.y);
}double ans[111];
int main()
}for(int i = 0 ; i < n ; i ++)}}
}}sort(point,point+cnt,cmp);
for(int i = 0 ; i < cnt - 1; i ++)
else
tp[1].in = 1;
seg[now++] = tp[0];
seg[now++] = tp[1];}}
sort(seg, seg + now, cmpy);
int state = 0;
for(int j = 0; j < now - 1; j++)
else
state--;
ans[state] += d*(seg[j].a.y-seg[j+1].a.y + seg[j].b.y-seg[j+1].b.y)/2.0;}}
for(int i = 1; i <= n; i ++)
}return 0;
}
求大三角形中三角形個數
一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...
求三角形性質
作 者 b23 完成日期 2014年 10 月 31 日 版 本 號 v1.0 輸入描述 輸入三角形的三邊 a,b,c,值,根據其數值,判斷是否能構成三角形,若能,還有判斷其三角形的性質 等邊三角形,等腰三角形,直角三角形和任意三角形。using system using system.collec...
JSP求三角形面積
2 實驗1 60分鐘 2.1 實驗目的 計算三角形的面積 2.2 實驗任務 1 定義乙個可以輸入三角形三條邊的 html頁面 2 定義乙個可以計算三角形面積的 jsp頁面 3 顯示三角形的面積 2.3 實驗要求 1 三角形的邊必須為數字,如果三條邊沒有賦初值,則三條邊賦初值為零 2 判斷三角形的三條...