Mọi người giúp em bài toán này với ạ.
Trên bàn có c quân cờ. có hai đối thủ chơi lần lượt. mỗi lượt, người chơi sẽ lấy khỏi bàn từ 1 đến m quân cờ. người thắng cuộc là người lấy được quân cờ cuối cùng. biết rằng hai người chơi đều chơi tối ưu. hãy xác định xem ai là người thắng cuộc?
Input: T là số bộ test, mỗi bộ test gồm 2 chữ số c và m. 0<T<100, 0=<c<1000, 1=<m<1000
Output: in “First” nếu người chơi đầu thắng in”Second” nếu ngc lại
Các test:
Input:
4
20 9
7 5
1 5
0 3
Output:
Second
First
First
Second
Bài toán lấy quân cờ
bạn muốn giúp gì, bạn đã giải bài này bằng tay được chưa?
ví dụ 20 9 thì kết quả là Second, bản giải thích được chưa?
-
nếu c chia hết cho (m+1) thì người chơi thứ 2 tháng, còn lại thì người chơi đầu tiên thắng
-
bạn có thể áp dụng cách máy móc trên để pass được bài test, nhưng mục đích của việc không phải chỉ để qua những bài test này
-
bạn cần tìm hiểu về lý thuyết trò chơi trong lập trình
Mình muốn xin gợi ý thuật toán, tại mình vẫn chưa hiểu câu 2 người chơi đều chơi tối ưu, mình chỉ bt ai lấy đc quân trc mà còn m + 1 quân thì thắng thôi
- tức là cả 2 người chơi đều biết chơi và biết cách để thắng, khi đó thì việc thắng được quyết định bởi trạng thái ban đầu
-
bạn hãy giải thích vì sao được không? và làm sao để còn m + 1 sau lượt đi?
-
keywork đã có nhưng có vẻ như bạn chưa search
https://vi.wikipedia.org/wiki/Lý_thuyết_trò_chơi
Thì người chơi còn lại chỉ lấy đc tối đa m quân cờ do đó người để lại m+1 quân cờ thắng. Còn làm sao để m+ 1 sau lượt đi thì do người chơi tính toán. Về phần lý thuyết trò chơi mình đọc khó hiểu quá. Bạn có thể giải thích vì sao có đc cách giải ko. Mình cảm ơn
- vậy nếu bạn đi xong, để lại m+2 cho đối thủ, thì bạn có thắng không?
- theo cách giải thích của bạn thì người kia cũng chỉ lấy tối đa m thôi, kiểu gì cũng còn cờ cho bạn?
- bạn nên đầu tư nhiêu thời gian hơn để suy nghĩ hoặc tìm, đọc, hiểu tài liệu trước khi hỏi tiếp.
Mình sẽ thua thôi, vì đối thủ cũng có khả năng để lại m+1 quân cờ mà :))
vậy bạn tự list ra tất cả các trường hợp số lượng quận cờ khi đến đến lượt bạn, bao nhiêu là thắng báo nhiêu là thua với m là 9
0 -> thua
1-> thắng
2 -> thắng
…
9 -> thắng
…
rồi tự tìm quy tắc, thái độ học tập của bạn qua cách bạn hỏi và trả lời trên này làm mình cảm thấy không thích nên coi như đây là comment cuối cùng vậy