题目:
Description
给定一个n*m的矩阵,每次你可以选择前进一格或转弯(90度), 求在不出这个矩阵的情况下遍历全部格点所需最少转弯次数。 有多组数据
Format
Input
第一行给出数字组数据 对于每组数据 每一行包含两个正整数N和M(1 ≤ N, M ≤ 1 000 000), 分别表示每大块土地可以看成N× M小块
Output
对于每一大块土地,输出修剪草坪需要的最少转弯次数
Samples
输入数据 1
1
5 8
Copy
输出数据 1
8
Copy
输入数据 2
3
1 1
3 3
3 4
Copy
输出数据 2
0
4
4
Copy
Limitation
1s, 1024KiB for each test case.
这道题.....
真的没什么难的,就是绕了个弯,我写这篇文章就是为了水一篇。
我们来看一下:
如果草坪是这样的:长5格,宽4格。
步数最少的是像这样走之字形:
每次就应该走宽*2-2次(开始和结束不转弯);
代码实现:
#include<bits/stdc++.h>
using namespace std;
int main() {
int s,a,b;
cin>>s;
for(int i=1; i<=s; i++) {
cin>>a>>b;
cout<<min(a,b)*2-2<<endl;//min(a,b):找出宽的长度
}
return 0;
}
好了,这道题就ak了,请大家三连(点赞、关注、收藏)一下,谢谢各位观众老爷了!!