CF115B Lawnmower

题目描述

你有一个完全由草和杂草组成的花园。你的花园是一个 n×m的网格。每个方格有一对坐标(r,c)表示单元格位于r行c列。每个方格可能有草或杂草。例如,一个4×5的花园可能如下(空单元格表示草): ![](https://cdn.luogu.org/upload/vjudge_pic/CF115B/593291ddc8205e086d1d9f0caee6daf221cd4d06.png) 你有一台割草机可以割除所有的杂草。最初,你站在花园的左上角。也就是说,在方格(1,1)处。在任何时刻,你都面临着某个方向——左或右。最初,你面对右。 在一个步骤中,您可以执行以下任一操作: 1. 沿您面向的方向移动一个单元格。 - 如果你面向右:从方格(r,c )移动到方格(r,c + 1 ) ![](https://cdn.luogu.org/upload/vjudge_pic/CF115B/f511b6ec3d5ee7e9c4711b72b12f3f163a26b1cb.png) - 如果你面向左:从方格(r,c )移动到方格(r,c - 1 ) ![](https://cdn.luogu.org/upload/vjudge_pic/CF115B/817d99d95ad6751bb75b016614c67edbc38bc05f.png) 2) 向下移动一格(即从(r,c )移动到方格(r + 1,c )中),并将你的方向改为相反的方向. - 如果你面向右,你将面向左 ![](https://cdn.luogu.org/upload/vjudge_pic/CF115B/eaac793c8ad146f5aa886c6e03e5682029ae2d0f.png) - 如果你面向左,你将面对右 ![](https://cdn.luogu.org/upload/vjudge_pic/CF115B/0279ba704667c612234f39ddc6d6e73ff67745d6.png) 您不得离开花园。如果你和你的割草机站在含有杂草的方格中(你的方向无关紧要),杂草就会被修剪掉。此操作不算作动作。 割除所有杂草所需的最小移动次数是多少? ------------

输入格式

第一行包含两个整数n和m(1

输出格式

输出一个数字——割除所有杂草所需的最小移动次数。

说明/提示

For the first example, this is the picture of the initial state of the grid: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF115B/a51efd23c5bfa4baf6ef0e23e14eb6170b199d79.png)A possible solution is by mowing the weeds as illustrated below: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF115B/15b84025b88eba28511a1ee3af7d5faed84e0e48.png)