记录编号 | 84454 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [NOIP 2010冲刺十三]迷之阶梯 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.004 s | ||
提交时间 | 2013-12-13 20:36:35 | 内存使用 | 0.30 MiB | ||
#include<fstream> using namespace std; ifstream input("ladder.in"); ofstream output("ladder.out"); int n,ni[250]={0},b[250]={0}; int main() { input>>n; for(int i=0;i<n;i++) { input>>ni[i]; b[i]=10000; } b[0]=0; for(int i=1;i<n;i++) { for(int j=i-1;j>=0;j--) { if(j==i-1&&ni[j]==ni[i]-1) { b[i]=b[j]+1; } else { int k=1,m=0; while(k<ni[i]-ni[j]) { k=k*2; m++; } if(m<=i-j-1&&b[i]>b[j+m]+m+1) { b[i]=b[j+m]+m+1; } } } if(b[i]==10000) { output<<-1; return 0; } } if(b[n-1]==10000) output<<-1; else output<<b[n-1]; }