Pagini recente » Cod sursa (job #1040283) | Cod sursa (job #2945605) | Cod sursa (job #1872151) | Cod sursa (job #329804) | Cod sursa (job #1745350)
#include <cstdio>
#define BAZA 10
#define MAXCIF 209
char dp[2][MAXCIF];
unsigned char nr[2];
inline unsigned char getmax(unsigned char a,unsigned char b){
if(a<b) return b;
return a;
}
int main(){
FILE*fi,*fout;
short n,i;
unsigned char j;
char t;
fi=fopen("nunta.in" ,"r");
fout=fopen("nunta.out" ,"w");
fscanf(fi,"%d" ,&n);
if(n==1)
fprintf(fout,"1");
if(n==2)
fprintf(fout,"2");
if(n>2){
dp[1][0]=1;
dp[0][0]=2;
nr[0]=1;
nr[1]=1;
for(i=3;i<=n;i++){
t=0;
for(j=0;j<getmax(nr[i&1],nr[1-i&1])||t>0;j++){
t=t+dp[i&1][j]+dp[1-i&1][j];
dp[i&1][j]=t%BAZA;
t/=BAZA;
}
nr[i&1]=j;
}
fprintf(fout,"%d" ,dp[n&1][nr[n&1]-1]);
for(i=nr[n&1]-2;i>=0;i--)
fprintf(fout,"%d" ,dp[n&1][i]);
}
fclose(fi);
fclose(fout);
return 0;
}