trang chủ / bài tập / circgame

Trò chơi trên đường tròn

Đề bài

Mô tả

Ashish và Utkarsh chơi một trò chơi trên mặt phẳng tọa độ. Ban đầu có một quân cờ đặt tại điểm (0,0). Hai người thay phiên nhau đi, Ashish đi trước.

Trong mỗi lượt, người chơi phải tăng hoặc hoành độ hoặc tung độ của quân cờ thêm đúng k đơn vị. Sau khi đi, quân cờ vẫn phải nằm trong khoảng cách (Euclid) không quá d so với gốc tọa độ. Nói cách khác, nếu sau lượt đi quân cờ ở tại (p,q) thì phải thỏa mãn p2+q2d2.

Trò chơi kết thúc khi đến lượt một người mà người đó không thể đi được nữa; người đó thua. Có thể chứng minh trò chơi luôn kết thúc sau hữu hạn bước.

Với mỗi bộ dữ liệu, giả sử cả hai chơi tối ưu, hãy xác định ai là người thắng.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm một dòng chứa hai số nguyên dk.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra Ashish nếu Ashish thắng, ngược lại in ra Utkarsh.

Ràng buộc

  • 1t100
  • 1d105
  • 1kd

Ví dụ

Input Output Giải thích
5
2 1
5 2
10 3
25 4
15441 33
Utkarsh
Ashish
Utkarsh
Utkarsh
Ashish
Ở bộ đầu tiên với d=2,k=1, một chuỗi nước đi có thể là (0,0)(0,1)(0,2). Sau đó Ashish không còn nước đi (mọi nước đều vượt khoảng cách 2), nên Utkarsh thắng.
3
1 1
100 100
50 49
Ashish
Ashish
Ashish
Với d=1,k=1: Ashish đi tới (1,0), sau đó Utkarsh không thể đi (tới (2,0) hay (1,1) đều vượt khoảng cách 1), nên Ashish thắng.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0