結果

問題 No.635 自然門松列
ユーザー rlangevinrlangevin
提出日時 2023-10-16 22:46:23
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,725 bytes
コンパイル時間 406 ms
コンパイル使用メモリ 82,560 KB
実行使用メモリ 53,376 KB
最終ジャッジ日時 2024-09-16 22:36:57
合計ジャッジ時間 2,668 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 42 ms
51,968 KB
testcase_01 AC 41 ms
51,968 KB
testcase_02 AC 41 ms
52,096 KB
testcase_03 AC 41 ms
52,096 KB
testcase_04 AC 41 ms
52,096 KB
testcase_05 AC 46 ms
52,992 KB
testcase_06 AC 45 ms
52,992 KB
testcase_07 AC 45 ms
53,120 KB
testcase_08 AC 41 ms
52,480 KB
testcase_09 AC 41 ms
52,352 KB
testcase_10 WA -
testcase_11 AC 46 ms
52,992 KB
testcase_12 AC 44 ms
52,864 KB
testcase_13 AC 45 ms
52,864 KB
testcase_14 AC 45 ms
52,992 KB
testcase_15 AC 40 ms
52,224 KB
testcase_16 AC 41 ms
52,096 KB
testcase_17 AC 44 ms
53,120 KB
testcase_18 AC 44 ms
52,992 KB
testcase_19 AC 44 ms
52,992 KB
testcase_20 AC 44 ms
52,864 KB
testcase_21 AC 44 ms
52,864 KB
testcase_22 AC 43 ms
52,864 KB
testcase_23 AC 44 ms
53,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline

N = int(input())
def check(x1, x2, y1, y2):
    return x1 == x2 and y1 == y2

def kadomatsu(a, b, c):
    if a == b or b == c or c == a:
        return False
    if a < b < c or a > b > c:
        return False
    return True

for _ in range(N):
    x1, x2, x3, y1, y2, y3 = map(int, input().split())
    if check(x1, x2, y1, y2) or check(x1, x3, y1, y3) or check(x3, x2, y3, y2):
        print("NO")
        continue
    if kadomatsu(x1, x2, x3) or kadomatsu(y1, y2, y3):
        print("YES")
        continue
    if x1 == x3:
        print("YES")
        continue
    if y2 > max(y1, y3) or y2 < min(y1, y3):
        print("YES")
        continue
    if x1 == x2:
        x1, x3 = x3, x1
        y1, y3 = y3, y1
    if x2 == x3:
        if x1 < x2:
            if y2 > y3:
                print("YES")
            else:
                print("NO")
        else:
            if y2 < y3:
                print("YES")
            else:
                print("NO")
    else:
        if x1 > x2 > x3:
            x1, x3 = x3, x1
            y1, y3 = y3, y1    
        if y2 == y3:
            if y1 <= y2:
                print("NO")
            else:
                print("YES")
        elif y1 == y2:
            if y3 >= y2:
                print("NO")
            else:
                print("YES")
        else:
            if y1 <= y2 <= y3:
                print("NO")
            else:
                if (y3 - y2) * x1 + (x2 - x3) * y1 < x2 * (y3 - y2) + (x2 - x3) * y2:
                    print("YES")
                elif (y2 - y1) * x3 + (x1 - x2) * y3 > x2 * (y2 - y1) + (x1 - x2) * y2:
                    print("YES")
                else:
                    print("NO")
0