Gym 101028G-The Tower of Evil

来源:互联网 发布:解放军纪律知乎 编辑:程序博客网 时间:2024/05/16 08:50

题目描述:

The forces of evil are about to disappear since our hero is now on top on the tower of evil, and all what is left is the most evil, most dangerous monster! The tower hash floors (numbered from 1 to h, bottom to top), each floor hasw rooms (numbered from 1 to w, left to right) composing a row. The monster stands in one of the ground floor (floor number1) rooms (the room number d where1 ≤ d ≤ w). Our hero stands in the top-left room of the tower. The only way for our hero to kill the evil monster is to throw down one of his power stones diagonally to the right. The stone will keep moving diagonally through the tower's rooms until it hits the right border of the tower, then it will change its direction to move down diagonally to the left until it hits the left border of the tower, then it will change its direction again and so on. This stone stops when it reaches the ground floor, if it stopped in the room of the monster, the monster is dead, otherwise the monster is still alive and the forces of evil will rise again! Help our hero to determine whether the stone will kill the monster or not!

Input

The input consists of several test cases. The first line of the input contains a single integerT, the number of the test cases. Each of the following lines contains a test case and consists of a three space-separated integersh, w andd denoting the height of the tower, the width of the tower and the number of room containing the monster. (1 ≤ d ≤ 109), (2 ≤ h, w ≤ 109).

Output

For each test case print a single line: 'Yes' if the monster will be killed and 'No' otherwise.

Sample Input

Input
59 4 29 4 35 4 310 2 110 2 2
Output
NoYesYesNoYes

Note
In the rst test case, the path of the power stone is colored in red. However the dragon is in the room
denoted with D, so the monster is still alive and the answer is 'No'.

代码实现:

#include<iostream>
using namespace std;
int main()
{
    int t,h,a,w,d;
    cin>>t;
    while(t--)
    {
        cin>>h>>w>>d;
        a=h;
        if(a%(w*2-2)==0)
        {
            a=2;
        }
        else
        {
            a%=(w*2-2);
        }
        if((a==d)||((a+d)==(2*w)))
        {
            cout<<"Yes\n";
        }
        else
        {
            cout<<"No\n";
        }
    }
    return 0;
}

1.题意:往下抛石子的时候是要往右下角的房间里面抛,一个房间一个房间走,一层一层走

2.余数等于0的时候,是正好a=2


0 0
原创粉丝点击