結果
| 問題 | No.1253 雀見椪 | 
| コンテスト | |
| ユーザー |  nehan_der_thal | 
| 提出日時 | 2020-10-09 22:38:20 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 403 ms / 2,000 ms | 
| コード長 | 1,006 bytes | 
| コンパイル時間 | 351 ms | 
| コンパイル使用メモリ | 82,288 KB | 
| 実行使用メモリ | 78,336 KB | 
| 最終ジャッジ日時 | 2024-07-20 13:02:41 | 
| 合計ジャッジ時間 | 5,366 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | AC * 14 | 
ソースコード
import sys
from math import gcd
MOD = 10**9 + 7
def P(x,y):
    return div2(pow(x,n,MOD),pow(y,n,MOD))
def K(x,y):
    z=gcd(x,y)
    return x//z, y//z
def padd(x,y):
    a,b=x
    c,d=y
    ue = a*d+b*c
    si = b*d
    return K(ue, si)
def mul(a, b):
    return ((a % MOD) * (b % MOD)) % MOD
def div(a, b):
    return mul(a, pow(b, MOD-2, MOD))
def div2(a, b):
    return mul(a, modinv(b))
def modinv(a):
    b, u, v = MOD, 1, 0
    while b:
        t = a//b
        a, u = a-t*b, u-t*v
        a, b, u, v = b, a, v, u
    u %= MOD
    return u
T, = map(int, input().split())
for _ in range(T):
    n, ax, ay, bx, by, cx, cy = map(int, input().split())
    ax,ay=K(ax,ay)
    bx,by=K(bx,by)
    cx,cy=K(cx,cy)
    pa,pb,pc=P(ax,ay),P(bx,by),P(cx,cy)
    x, y = padd((ax, ay), (bx, by))
#    print(x,y)
    px=P(x,y)-pa-pb
    x, y = padd((bx, by), (cx, cy))
#    print(x,y)
    py=P(x,y)-pb-pc
    x, y = padd((cx, cy), (ax, ay))
#    print(x,y)
    pz=P(x,y)-pc-pa
    print((1-px-py-pz)%MOD)
            
            
            
        