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.|

RGB7603 - Супер жаал саад тойрон

Супер жаал 3 янзаар урагшилж чаддаг. Дараагийн гишгүүрт очихоос гадна 1 болон 2 гишгүүр алгасаж чадна. Замд нь нийтдээ k ширхэг цөмөрсөн шат байгаа бол хичнээн ялгаатай маршрутаар n-р гишгүүрт хүрэх вэ. Цөмөрсөн шатны дугаар өсөх эрэмбээр өгөгдөнө.

Жич : Надад ганган бодолт байгаа. Илүү ганган бодсон нь gipsymn@yahoo.com хаягаар бодолтоо илгээнэ үү.

Input

Эхний мөрөн шатны гишгүүрийн тоо. 3<n<100.

Хоёр дахь мөрөнд цөмөрсөн гишгүүрийн тоо. k<n. 

Гурав дахь мөрөнд цөмөрсөн гишгүүрийн дугаарууд зайгаар тусгаарлагдан өгөгдөнө.

Output

Маршрутын тоо.

Example

Input:
10
3
4 7 8
Output:
10


Нэмсэн:Bataa
Огноо:2013-01-24
Хугацааны хязгаарлалт:1s
Эх кодын хэмжээний хязгаарлалт:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Програмчлалын хэлүүд:ADA95 ASM32 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE

hide comments
2020-07-01 03:34:51














































































































































































































































































2020-06-11 03:55:42



















































































































































2020-01-08 08:59:33
I SERVE SOVIET UNION
2020-01-08 08:59:20
comment huulahaa boli
2019-11-03 06:25:40
#include <cstdio>

int main(){
int a[101];
long long dp[101] = {0};
int n , i ,k;
scanf("%d%d" , &n , &k);
for(i = 1 ; i <= k ; i++){
scanf("%d" , &a[i]);
dp[a[i]] = -1;
}
dp[0] = 1;
if(dp[1] == 0)dp[1] = 1;
if(dp[2] == 0){
if(dp[1] != -1)dp[2] = 2;
else dp[2] = 1;
}
for(i = 3 ; i <= n ; i++){
if(dp[i] != -1){
if(dp[i - 1] != -1)dp[i] += dp[i - 1];
if(dp[i - 2] != -1)dp[i] += dp[i - 2];
if(dp[i - 3] != -1)dp[i] += dp[i - 3];
}
}
printf("%lld" , dp[n]);
}
2019-11-02 07:40:10
#include<cstdio>
#include<cmath>
int main()
{
int n,k;
long long a[100];
int b[100];
scanf("%d%d",&n ,&k);
a[0]=1;
for(int i=1 ; i<=k ; i++) {
scanf("%d" ,&b[i]);
a[b[i]]=-1;
}
if(a[1] != -1) a[1] = 1;
else a[1] = 0;
if(a[2] != -1) a[2] = a[0] + a[1];
else a[2] = 0;
for(int j=3 ; j<=n; j++){
if(a[j] != -1) a[j] = a[j - 1] + a[j - 2] + a[j - 3];
else a[j] = 0;
}
printf("%lld" ,a[n]);
return 0;
2019-11-01 06:24:34
#include<bits/stdc++.h>
main(){
long long n,a[100]={0},k,x;
scanf ("%lld%lld",&n,&k);
for(int i=4; i<=k; i++){
scanf("%lld",&x);
a[x=1];
}
if(a[1]==1)a[1]=0;
else a[1]=1;
if(a[2]==1)a[2]=0;
else a[2]=a[1]+1;
if(a[3]==1)a[3]=0;
else a[3]=a[2]+a[1]+1;
for(int i=4; i<=n; i++){
if(a[i]==1)a[i]=0;
else a[i]=a[i-3]+a[i-2]+a[i-1];
}

printf("%d",a[n]);
}
hudal
2019-10-19 11:18:51
dogiii stupid ass hole
2019-10-19 11:11:03
Po Temphozhin
SPAce tJ

Last edit: 2019-10-19 11:11:57
2019-05-17 11:21:03
daraalsan 3n shat ni tsumurvul yah ve
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.