#1149. 城市巡逻
城市巡逻
城市巡逻(patrol)
题目描述
Y 同学作为城市治安官,正在一个无限大的正方形网格地图上执行巡逻任务。地图的坐标原点为 。
在巡逻开始时,Y 同学位于 点。每一秒钟,Y 同学必须沿着网格线向东、西、南、北四个方向中的某一个移动恰好 单位长度。为了保证巡逻路线的覆盖范围,巡逻过程必须满足以下约束条件:
- 初始步:在第 秒,Y 同学可以从四个基本方向中任选一个进行移动。
- 转向规则:从第 秒开始,为了避免路径过于单一,Y 同学每一步的移动方向必须与前一步的移动方向垂直。也就是说,如果前一秒是水平移动(向东或向西),当前这一秒必须改为垂直移动(向南或向北);如果前一秒是垂直移动,当前这一秒必须改为水平移动。
现在已知 Y 同学恰好进行了 秒的巡逻移动。请你计算,在第 秒结束时,Y 同学最终可能停留的不同坐标位置共有多少个?
输入格式
从文件 patrol.in 中读入数据。
输入仅包含一行一个整数 ,表示 Y 同学巡逻的总步数。
输出格式
输出到文件 patrol.out 中。
输出一行一个整数,表示 Y 同学在第 步结束时可能到达的不同位置的数量。
样例 1 输入
1
样例 1 输出
4
样例 2 输入
2
样例 2 输出
4
样例 3 输入
3
样例 3 输出
12
数据范围
对于 的数据,保证 。
| 测试点编号 | 分值 | 特殊性质 | |
|---|---|---|---|
| 无 | |||
| 特殊性质 A | |||
| 特殊性质 B | |||
| 无 |
- 特殊性质 A:保证 为偶数。仍按题意统计所有可达的不同位置。
- 特殊性质 B:保证 满足 。
统计
相关
在下列比赛中: