您的位置:首页 > 其它

URAL 1224. Spiral (规律)

2015-06-07 11:42 330 查看


1224. Spiral


Time limit: 1.0 second

Memory limit: 64 MB



A brand new sapper robot is able to neutralize mines in a rectangular region having integer height and width (N and
M respectively). Before the robot begins its work it is placed near the top leftmost cell of the rectangle heading right. Then the robot starts moving and neutralizing mines making a clockwise spiral way (see picture). The spiral twists towards the
inside of the region, covering all the cells. The region is considered safe when all the cells are visited and checked by the robot.

Your task is to determine the number of the turns the robot has to make during its work.

Input

The input contains two integers in the following order:
N, M (1 ≤ N, M ≤ 231 − 1).

Output

The output consists of a single integer value — the number of the turns.

Sample

inputoutput
3 5

4

Problem Source: 2002-2003 ACM Central Region of Russia Quarterfinal Programming Contest, Rybinsk, October 2002

解析:找规律。一定要注意n和m的大小关系,因为出发地点是固定的。

AC代码:

#include <bits/stdc++.h>
using namespace std;

int main(){
    long long n, m;
    while(~scanf("%lld%lld", &n, &m)){
        long long ans;
        if(n <= m) ans = 2 * (n - 1);
        else ans = 2 * m - 1;
        printf("%lld\n", ans);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: