Cod sursa(job #2023772)

Utilizator andreicoman299Coman Andrei andreicoman299 Data 19 septembrie 2017 14:24:01
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>
#define MAXCIF 209
char dp[2][MAXCIF];
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,"%hd" ,&n);
   if(n==1)
     fprintf(fout,"1");
   if(n==2)
     fprintf(fout,"2");
   if(n>2){
     dp[1][0]=1;
     dp[0][0]=2;
     for(i=3;i<=n;i++){
         t=0;
         for(j=0;j<MAXCIF;j++){
            t=t+dp[i&1][j]+dp[1-i&1][j];
            dp[i&1][j]=t%10;
            t/=10;
         }
     }
     i=MAXCIF-1;
     while(dp[n&1][i]==0)
       i--;
     fputc(dp[n&1][i]+'0',fout);
     i--;
     while(i>=0){
        fputc(dp[n&1][i]+'0',fout);
        i--;
     }
   }
   fclose(fi);
   fclose(fout);
   return 0;
}