#includeusing namespace std;
const int n=1e3;
struct point //建構函式,方便**編寫
};struct polygon;
struct circle;
typedef point vector;
//程式上實現向量與點的結構體相同,一組(x,y)可以代表一點點或者乙個向量,目前不做嚴格的區分
//過載實現基本運算
vector operator + (vector a,vector b) //向量相加
vector operator - (vector a,vector b) //向量相減
vector operator * (vector a,double b) //向量乘以乙個數
vector operator / (vector a,double b) //向量除以乙個數
const double eps=1e-10;
int dcmp(double x)
bool operator == (const point&a,const point &b)
/*向量的點積(又叫 標積 / 內積 / 數量積 /),a·b=|a||b|·cosθ
幾何意義:向量a在向量b方向上的投影與向量b的模的乘
座標公式:a.x*b.x+a.y*b.y; */
double dot(vector a,vector b) //向量點積
double length(vector a) //求向量長度(通過點積)
double angle(vector a,vector b) //求向量夾角(單位為弧度)
/*向量的叉積(又叫 矢積 / 外積 / 向量積 /),a×b=|a||b|·sinθ
幾何意義:垂直a、b所在,向量a,b構成的平行四邊形的面積
座標公式: a.x*b.y-b.x*a.y */
double cross(vector a,vector b) //向量叉積
/*向量旋轉 公式 x=x'*cos(rad)-y'*sin(rad) y=x'*sin(rad)+y'*cos(rad) rad為要旋轉的角度(單位為弧度)*/
vector rotate(vector a,double rad)
/*計算向量的單位法線 ,左轉90度,長度歸一*/
vector normal(vector a)
int main()
演算法競賽入門經典 C 入門
include 提供輸入輸出流 include 提供常用演算法 using namespace std const int maxn 100 10 int a maxn int main return0 宣告陣列時,陣列大小可以用const宣告的常數。在c 中,這樣的寫法更加推薦。include i...
演算法競賽入門經典 1
想著要學演算法已經很長時間了,但一直都是有問題自己想,很少受 正規軍 編排,網上關於演算法的書倒是不少,其一必推 演算法導論 還有一本 演算法競賽入門經典 作者劉汝佳,好了,步入正題,兩天時間從第一章到第三章結尾,算是對c又進行了一遍複習,說一下新得 3d 3d 03d 知道它們的區別嗎,在呼叫pr...
演算法競賽入門經典 WERTYU
題目描述 把手放在鍵盤上時,稍不注意就會往右錯一 位。這樣,輸入q會變成輸入w,輸入j會變成輸 入k等。鍵盤如圖3 2所示。輸入乙個錯位後敲出的字串 所有字母均 大寫 輸出打字員本來想打出的句子。輸入保 證合法,即一定是錯位之後的字串。例如輸入中不會出現大寫字母a。樣例輸入 o s,gomr ypf...