時間限制:
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條線段是否恰好圍成矩形。
樣例輸入
30 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
樣例輸出
yesyesno
參見: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...