結果

問題 No.1384 Bishop and Rook
ユーザー convexineqconvexineq
提出日時 2021-02-07 21:59:45
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 357 ms / 2,000 ms
コード長 1,061 bytes
コンパイル時間 173 ms
コンパイル使用メモリ 81,848 KB
実行使用メモリ 82,920 KB
最終ジャッジ日時 2024-07-04 15:27:54
合計ジャッジ時間 12,221 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 55
権限があれば一括ダウンロードができます

ソースコード

diff #

def f1(x,y):
    print(x+1,y-1)
    print(x,y-1)
    print(x+1,y)
    x += 1
    for i in range(m//2-1):
        y += 1
        print(x,y)
        x -= 1
        y += 1
        print(x,y)
        y -= 1
        print(x,y)
        x += 1
        y += 1
        print(x,y)
    return x,y

def f2(x,y):
    for i in range(m//2-1):
        x += 1
        y -= 1
        print(x,y)
        y += 1
        print(x,y)
        x -= 1
        y -= 1
        print(x,y)
        y -= 1
        print(x,y)
    print(x+1,y-1)
    print(x,y-1)
    print(x+1,y)
    x += 1
    return x,y


def solve(n,m):
    if n==m==1:
        print(0)
        print(1,1)
        return
    if n%2==1 or m%2==1:
        print(-1)
        return
    print(n*m-1)
    print(1,2)
    x,y = 1,2
    i = n//2
    while True:
        x,y = f1(x,y)
        i -= 1
        if i==0: break
        print(x+1,y)
        x,y = f2(x+1,y)
        i -= 1
        if i==0: break
        print(x+1,y)
        x += 1
    
T = int(input())
for _ in range(T):
    n,m = map(int,input().split())
    solve(n,m)
0