結果
| 問題 |
No.2628 Shrinkage
|
| コンテスト | |
| ユーザー |
abap34
|
| 提出日時 | 2024-02-16 23:06:53 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,132 bytes |
| コンパイル時間 | 3,267 ms |
| コンパイル使用メモリ | 268,280 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-09-28 21:41:59 |
| 合計ジャッジ時間 | 4,185 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 WA * 27 |
ソースコード
#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
using namespace std;
using Graph = vector<vector<int>>;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ALL(a) (a).begin(), (a).end()
typedef struct Point
{
long long x, y;
} point;
bool same(point &a, point &b)
{
return a.x == b.x && a.y == b.y;
}
bool solve(point &a, point &b, point &c, point &d)
{
if (same(b, d))
{
return true;
}
if (same(a, c))
{
return false;
}
long long s, t;
s = (a.x - b.x) * (c.y - a.y) - (a.y - b.y) * (c.x - a.x);
t = (a.x - b.x) * (d.y - a.y) - (a.y - b.y) * (d.x - a.x);
if (s * t > 0)
return true;
s = (c.x - d.x) * (a.y - c.y) - (c.y - d.y) * (a.x - c.x);
t = (c.x - d.x) * (b.y - c.y) - (c.y - d.y) * (b.x - c.x);
if (s * t > 0)
return true;
return false;
}
int main()
{
int T;
cin >> T;
rep(i, T)
{
point a, b, c, d;
cin >> a.x >> a.y >> b.x >> b.y >> c.x >> c.y >> d.x >> d.y;
if (solve(a, c, b, d))
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}
abap34