题目名称 | 123. 行进方案 |
---|---|
输入输出 | zbfa.in/out |
难度等级 | ★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | cqw 于2008-09-24加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:103, 提交:213, 通过率:48.36% | ||||
Hakurou! | 100 | 0.000 s | 0.00 MiB | C++ |
Я люблю тебя | 100 | 0.000 s | 0.00 MiB | C++ |
卢本伟 | 100 | 0.000 s | 0.00 MiB | C++ |
Ezoi_XY | 100 | 0.000 s | 0.17 MiB | Pascal |
FoolMike | 100 | 0.000 s | 0.17 MiB | Pascal |
QhelDIV | 100 | 0.000 s | 0.27 MiB | C++ |
苏轼 | 100 | 0.001 s | 0.11 MiB | Pascal |
WaterFire | 100 | 0.001 s | 0.11 MiB | Pascal |
苏轼 | 100 | 0.001 s | 0.11 MiB | Pascal |
reamb | 100 | 0.001 s | 0.12 MiB | Pascal |
本题关联比赛 | |||
NOIP_5 |
关于 行进方案 的近10条评论(全部评论) | ||||
---|---|---|---|---|
额。。我有罪,WA了5次
pα.Princesavs
2017-04-15 21:54
5楼
| ||||
仰慕2楼
| ||||
需要数组吗?
| ||||
先设一个f[i]表示恰好走i步且不经过已走的点 共有的走法。
如果向上走,不会出现经过已走的点;如果向左或右,上一步不能是向右或左。 这一步的选择数= (3*上一步的所有选择中向上走的选择数) + (2*上一步的所有选择中向左、右走的选择数)。 上一步的所有选择中向上走的选择数”实际上就是“上上步的所有选择数”即f[i-2] “上一步的所有选择中向左、右走的选择数” 等于 “上步所有的选择数(即f[i-1])-上步向上的选择数” 也就等于 “上步所有的选择数(即f[i-1])-上上步所有的选择数(即f[i-2])” 所以得到递推式:f[i] = (3*f[i-2]) + 2*(f[i-1]-f[i-2]); | ||||
滚动数组无限好用啊
(Ps:加减乘直接 % 或 mod 12345) |