結果
| 問題 | No.635 自然門松列 | 
| コンテスト | |
| ユーザー |  T1610 | 
| 提出日時 | 2018-02-14 10:02:20 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 30 ms / 650 ms | 
| コード長 | 982 bytes | 
| コンパイル時間 | 293 ms | 
| コンパイル使用メモリ | 12,800 KB | 
| 実行使用メモリ | 11,008 KB | 
| 最終ジャッジ日時 | 2024-06-23 08:51:18 | 
| 合計ジャッジ時間 | 1,454 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | AC * 23 | 
ソースコード
def func(x):
    if x[0] == x[1] or x[0] == x[2]:
        return False
    if x[1] > x[0] and x[1] > x[2] :
        return True
    if x[1] < x[0] and x[1] < x[2] :
        return True
    return False
def make(x, y, t) :
    z = [x[i] for i in range(3)]
    if t < 0.0 :
        return x
    for i in range(3) :
        z[i] += y[i] * t
    return z
N = int(input())
for case in range(N) :
    z = list(map(int, input().split()))
    x = [0 for i in range(3)]
    y = [0 for i in range(3)]
    for i in range(3) :
        x[i] = z[i]
    for i in range(3) :
        y[i] = z[i+3]
    f = func(x)
    # print('{} {}'.format(x,y))
    for i in range(3) :
        for j in range(i) :
            if y [i] != y[j] :
                t = (x[j] - x[i]) / (y[i] - y[j])
                if func(make(x, y, t + 0.0000001)) or func(make(x, y, t - 0.0000001)) :
                    f = True
                # print('{} {} {} {}'.format(i, j, t, make(x, y, t)))
    print("YES" if f else "NO")
            
            
            
        