Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

VSTEPS - Steps

Bậc thang

Bờm chơi trò chơi điện tử Lucky Luke đến màn phải điều khiển Lucky leo lên một cầu thang gồm n bậc.

Các bậc thang được đánh số từ 1 đến n từ dưới lên trên. Lucky có thể đi lên một bậc thang, hoặc nhảy một bước lên hai bậc thang. Tuy nhiên một số bậc thang đã bị thủng do cũ kỹ và Lucky không thể bước chân lên được. Biết ban đầu, Lucky đứng ở bậc thang số 1 (bậc thang số 1 không bao giờ bị thủng).

Chơi đến đây, Bờm chợt nảy ra câu hỏi: có bao nhiêu cách để Lucky leo hết được cầu thang? (nghĩa là leo đến bậc thang thứ n). Bờm muốn nhờ bạn trả lời câu hỏi này.

Dữ liệu

  • Dòng đầu tiên: gồm 2 số nguyên n và k, là số bậc của cầu thang và số bậc thang bị hỏng (0 ≤ k < n ≤ 100000).
  • Dòng thứ hai: gồm k số nguyên cho biết chỉ số của các bậc thang bị hỏng theo thứ tự tăng dần.

Kết qủa

In ra phần dư của số cách Lucky leo hết cầu thang khi chia cho 14062008.

Ví dụ

Dữ liệu
4 2
2 3

Kết qủa
0

Dữ liệu
90000 1
49000

Kết qủa
4108266

Được gửi lên bởi:VOJ Team
Ngày:2008-06-13
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:VNOI Marathon '08 - Round 1/DivB
Problem Setter: Ngô Minh Đức

hide comments
2015-01-22 15:53:23 N�ng D�n John
Sửa mãi mới AC được!
==> Dynamic Programing
2015-01-22 06:05:12 Bee
f[i]:=(f[i+1]+f[i+2]) mod 14062008;
2015-01-12 13:56:45 there's no salvation for me...
có bác nào test 2 ra 4129847 không??? @@
2014-10-04 12:22:05 tenkodukytu
AC :v
2014-09-05 08:05:15 never give up !!
fibonacci cơ bản
2014-02-10 04:10:33 càng code càng buồn ðời
có xét trường hợp không về đích đc ko?
2014-01-26 10:42:34 Silver Rayleigh
Don't post any source code here.
2014-01-22 11:02:34 PTH
cái phần chấm bài k biết bị lỗi hay k mà tự nhiên báo biên dịch lỗi =="
uses crt;
const fi=''; fo='';
nmax=100000;
type m1c=array[0..nmax] of longint;
var a,f:m1c;
fl:text;
n,k:longint;
procedure openf;
var i:longint;
begin
assign(fl,fi); reset(fl);
read(fl,n,k);
for i:=1 to n do read(fl,a[i]);
close(fl);
assign(fl,fo); rewrite(fl);
end;
procedure process;
var i,j:longint;
begin
j:=1; a[k+1]:=0;
f[0]:=0;
f[1]:=1;
if a[1]=2 then
begin
f[2]:=0;
inc(j);
end
else f[2]:=1;
for i:=3 to n do
if a[j]=i then
begin
f[i]:=0;
inc(j);
end else f[i]:=f[i-1]+f[i-2];
write(fl,f[n] mod 14062008);
end;
procedure closef;
begin
close(fl);
end;
begin
openf;
process;
closef;
end.


2013-12-08 04:45:36 Nguyễn Hoàng Nam
đề nghị Sói con lon ton không pos code
2013-12-04 14:17:51 Xiao Lang
Q[0]=0;
Q[1]=1;
Gọi free[i] cho biết bậc thang i có bị vỡ không. Nếu free[i] nghĩa là ko bị và ngược lại.
Q[2]=0 if free[2] else Q[2]=1
Q[i]=
0 if not free[i]
Q[i-1] if free[i-1] and not free[i-2]
Q[i-2] if free[i-2] and not free[i-1]
Q[i-1]+Q[i-2] if free[i-1] and free[i-2]
kq=Q[N]
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.