Nim tuần tự

Đề bài

Mô tả

n đống đá, đống thứ i chứa ai viên đá. Hai người chơi lần lượt thực hiện nước đi.

Mỗi nước đi, người chơi phải lấy đi một số dương viên đá từ đống không rỗng có chỉ số nhỏ nhất (tức là đống đầu tiên còn đá). Người chơi nào không thể thực hiện nước đi (vì tất cả các đống đều rỗng) sẽ thua.

Hai người chơi đều chơi tối ưu. Hãy xác định ai là người chiến thắng.

Dữ liệu vào

Dòng đầu chứa một số nguyên t — số lượng bộ test.

Với mỗi bộ test:

  • Dòng đầu chứa số nguyên n — số đống đá.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an — số đá trong mỗi đống.

Dữ liệu ra

Với mỗi bộ test, in ra First nếu người đi trước thắng, ngược lại in Second.

Ràng buộc

  • 1t1000
  • 1n105
  • 1ai109
  • Tổng n trên tất cả các bộ test không vượt quá 105.

Ví dụ

Input Output Giải thích
7
3
2 5 4
8
1 1 1 1 1 1 1 1
6
1 2 3 4 5 6
6
1 1 2 1 2 2
1
1000000000
5
1 2 2 1 1
3
1 1 1
First
Second
Second
First
First
Second
First
Bộ test 1 ([2,5,4]): người đi trước lấy 1 viên ở đống 1, buộc người sau lấy nốt viên còn lại; tương tự ở đống 2, người đi trước luôn kiểm soát đống cuối. Bộ test 2 (8 đống mỗi đống 1 viên): mỗi nước chỉ lấy được đúng 1 viên, sau 8 nước người đi sau lấy viên cuối nên người đi trước thua.
1
6
1 1 2 2 1 1
First Hai đống đầu mỗi đống có 1 viên (buộc lấy hết), sang đống thứ ba (giá trị 2) người đi trước đang ở thế chủ động và có thể chia phần còn lại để 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