4652. 纸张尺寸
摘要
Title: 4652. 纸张尺寸
Tag: dfs
Memory Limit: 64 MB
Time Limit: 1000 ms
Powered by:NEFU AB-IN
4652. 纸张尺寸
-
题意
在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm×841mm,将 A0 纸沿长边对折后为 A1 纸,大小为 841mm×594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。
将 A1 纸沿长边对折后为 A2 纸,依此类推。
输入纸张的名称,请输出纸张的大小。 -
思路
dfs即可,dfs时将l,r的地址传过去,随dfs变化值
-
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44/*
* @Author: NEFU AB-IN
* @Date: 2023-01-06 09:30:59
* @FilePath: \Acwing\4652\4652.cpp
* @LastEditTime: 2023-01-06 09:47:43
*/
using namespace std;
typedef pair<int, int> PII;
// #undef N
// const int N = 1e5 + 10;
// #undef int
int l = 1189, r = 841;
signed main()
{
IOS;
string s;
cin >> s;
int n = s[1] - '0';
function<void(int, int &, int &)> dfs = [&](int n, int &l, int &r) {
if (!n)
return;
if (l > r)
l /= 2, dfs(n - 1, l, r);
else
r /= 2, dfs(n - 1, l, r);
};
dfs(n, l, r);
cout << max(l, r) << '\n' << min(l, r);
return 0;
}