• 2016 Al-Baath University Training Camp Contest-1 G


    Description

    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 has h floors (numbered from 1 to h, bottom to top), each floor has w rooms (numbered from 1 to w, left to right) composing a row. The monster stands in one of the ground floor (floor number 1) rooms (the room number d where 1 ≤ 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 integer T, the number of the test cases. Each of the following lines contains a test case and consists of a three space-separated integers hw and d 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.

    Example
    input
    5
    9 4 2
    9 4 3
    5 4 3
    10 2 1
    10 2 2
    output
    No
    Yes
    Yes
    No
    Yes
    Note
                                                                                             

    In the first 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'.

    题意:见图

    解法:找规律,这里以2*w-2作为一个循环,循环里面以最高点为对称

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int t,w,h,d;
        cin>>t;
        while(t--)
        {
            cin>>h>>w>>d;
            int num=2*w-2;
            int mod=h%num;
            //cout<<h%num<<endl;
            if(mod>w)
            {
                mod=2*w-mod;
            }
            else if(mod==0)
            {
                mod=2;
            }
            if(mod==d)
            {
                cout<<"Yes"<<endl;
            }
            else
            {
                cout<<"No"<<endl;
            }
            //cout<<mod<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    三十岁了是否该改行——我完全晕倒了
    asp.net Context.Handler 页面间传值的几种方法
    信道与信道栈
    正则表达式之字符组
    移动Web界面样式CSS3
    Media Queries语法总结
    WCF全面解析(上下册)
    HTML5移动Web开发指南
    HTML5移动开发即学即用(双色)
    可靠会话最佳实践
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/6044532.html
Copyright © 2020-2023  润新知