結果
問題 |
No.2628 Shrinkage
|
ユーザー |
![]() |
提出日時 | 2024-02-29 10:44:45 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,057 bytes |
コンパイル時間 | 1,961 ms |
コンパイル使用メモリ | 194,636 KB |
最終ジャッジ日時 | 2025-02-19 21:57:56 |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 24 WA * 4 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); //条件1:P_1Q_1とP2Q_2が平行 //操作によって、P_1Q_1の向きは変化しない。 //条件2:P_1Q_1の長さがP_2Q_2の長さより大きい。 //操作によって、P_1Q_1の長さは小さくなる。 ll T, x1, y1, x2, y2, X1, Y1, X2, Y2, dx, dy, DX, DY, L1, L2, g; cin >> T; while(T--){ cin >> x1 >> y1 >> x2 >> y2 >> X1 >> Y1 >> X2 >> Y2; L1 = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1); L2 = (X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1); if (L2 >= L1){ cout << "No" << endl; continue; } dx = x2 - x1; dy = y2 - y1; g = gcd(abs(dx), abs(dy)); dx /= g; dy /= g; DX = X2 - X1; DY = Y2 - Y1; g = gcd(abs(DX), abs(DY)); DX /= g; DY /= g; cout << (dx == DX && dy == DY ? "Yes" : "No") << endl; } return 0; }