HDU 1846 brave game

Source: Internet
Author: User
Brave game Time Limit: 1000/1000 MS (Java/others) memory limit: 32768/32768 K (Java/Others)
Total submission (s): 6592 accepted submission (s): 4410


Problem description when I was a university student ten years ago, China introduced some film blockbusters from abroad every year. One of the movies was called "the player's game" (English name: zathura ), until now, I have been impressed by some of the Computer stunts in the movie.
Today, we chose the computer test as a brave choice. In this short term, we are talking about the game topic. Therefore, now everyone is playing the "multiplayer game", which is why I name this question.
Of course, in addition to being brave, I also hope to see "integrity". No matter what the test scores are, what I want to see is a real result. I believe everyone can do it ~

What is the first game to be played by beginners? It is very simple. It is defined as follows:
1. This game is a two-person game;
2. There are a pile of stones with N in total;
3. Take turns;
4. Each step can take 1... M stones;
5. the first party to win the light stones;

If both sides of the game are using the best strategy, please output which one can win.
 
The input data first contains a positive integer c (C <= 100), indicating that there are group C test data.
Each group of test data occupies one row and contains two integers n and M (1 <= n, m <= 1000). For the meanings of N and M, see the topic description.
 
Output: if the first person wins, output "first"; otherwise, output "second". The output of each instance occupies one row.
Sample Input
223 24 3
 
Sample output
firstsecond
Before making this battle, add the following knowledge:

Bash game: there are only a bunch of N items, and two people take things from the pile of items in turn, each time at least one, a maximum of M. The final winner wins.

Obviously, if n = m + 1, a maximum of m items can be taken at a time. Therefore, no matter how many items are taken by the first accessor, the latter can take the remaining items at a time, the latter wins. Therefore, we discovered the rule of How to Win: If n = (m + 1) R + S, (R is an arbitrary natural number, S ≤ m ), the first accessors must take s items. If the second accessors take K (≤ m) items, the first accessors take m + 1-K items, and the result is (m + 1) (r-1), and later to maintain such a method, then the first accessors certainly win. In short, we need to leave a multiple (m + 1) to the opponent to win.

This game can also have a disguised gameplay: two people report at least one message each time, and a maximum of ten messages each time. Who can report to the 100 winner.

That is to say, if n % (m + 1) = 0, the latter wins, whereas the former wins.
#include<iostream>#include<cstdio>using namespace std;int main(){    int t,n,m;    scanf("%d",&t);    while(t--)    {        scanf("%d %d",&n,&m);        if(n%(m+1))            puts("first");        else        puts("second");    }    return 0;}



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.