C 學習筆記 矩形判斷

2021-06-26 21:01:49 字數 1500 閱讀 1479

時間限制:

1000ms

單點時限:

1000ms

記憶體限制:

256mb

給出平面上4條線段,判斷這4條線段是否恰好圍成乙個面積大於0的矩形。

輸入第一行是乙個整數t(1<=t<=100),代表測試資料的數量。

每組資料報含4行,每行包含4個整數x1, y1, x2, y2 (0 <= x1, y1, x2, y2 <= 100000);其中(x1, y1), (x2,y2)代表一條線段的兩個端點。

每組資料輸出一行yes或者no,表示輸入的4條線段是否恰好圍成矩形。

樣例輸入

3

0 0 0 1

1 0 1 1

0 1 1 1

1 0 0 0

0 1 2 3

1 0 3 2

3 2 2 3

1 0 0 1

0 1 1 0

1 0 2 0

2 0 1 1

1 1 0 1

樣例輸出

yes

yesno

參見:hihocoder矩形判斷

根據對角線互相平分且相等的四邊形即是正方形這一判斷方法,首先判斷輸入的四條邊能連線成乙個四邊形,然後判斷對角線是否平分且相等。**如下:

using system;

namespace orthogon

console.writeline(isorthogon(inputs));}}

static string isorthogon(string lines)

}for (int i = 0; i < lines.length; i++)

else if (points[0, k] == x && points[1, k] == y)

}if (done) return result;}}

int pax = points[0, 0];

int pay = points[1, 0];

int pbx, pby, pcx, pcy, pdx, pdy;

pbx = pby = pcx = pcy = pdx = pdy = -1;

for (int i = 0; i < sides.getlength(1); i++)

else if (sides[2, i] == pax && sides[3, i] == pay)

}for (int i = 0; i < sides.getlength(1); i++)

else if (sides[2, i] == pbx && sides[3, i] == pby)

if (xid != -1 && xid != pax && yid != pay)

}if (pax + pdx == pbx + pcx && pay + pdy == pby + pcy)

}return result;}}

}

hiho 矩形判斷

時間限制 1000ms 單點時限 1000ms 記憶體限制 256mb 給出平面上4條線段,判斷這4條線段是否恰好圍成乙個面積大於0的矩形。輸入第一行是乙個整數t 1 t 100 代表測試資料的數量。每組資料報含4行,每行包含4個整數x1,y1,x2,y2 0 x1,y1,x2,y2 100000 ...

1040 矩形判斷

時間限制 1000ms 單點時限 1000ms 記憶體限制 256mb 給出平面上4條線段,判斷這4條線段是否恰好圍成乙個面積大於0的矩形。輸入第一行是乙個整數t 1 t 100 代表測試資料的數量。每組資料報含4行,每行包含4個整數x1,y1,x2,y2 0 x1,y1,x2,y2 100000 ...

c 學習筆記 判斷與迴圈

一 判斷語句 1 if 語句 語法 if 判斷條件 判斷條件 一般為關係表示式或者 bool 型別的值。執行過程 程式執行到 if 處,首先判斷 if 所帶的小括號中的判斷 條件,如果條件成立,也就是返回 true,則執行 if 所帶的大括號中的代 碼,如果判斷條件不成立,也就是返回乙個 false...