Cod sursa(job #1758628)

Utilizator hrazvanHarsan Razvan hrazvan Data 17 septembrie 2016 15:47:49
Problema Nunta Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#define MAXL 210
using namespace std;
int d[2][MAXL];

int main(){
  FILE *in = fopen("nunta.in", "r");
  int n, i, j, tr;
  fscanf(in, "%d", &n);
  fclose(in);
  i = 2;
  d[0][0] = d[1][0] = 1;
  d[0][1] = d[1][1] = 1;
  for(; i <= n; i++){
    tr = 0;
    for(j = 1; j <= d[(!(i & 1))][0]; j++){
      d[(i & 1)][j] += d[(!(i & 1))][j] + tr;
      tr = d[(i & 1)][j] / 10;
      d[(i & 1)][j] %= 10;
    }
    d[(i & 1)][0] = d[(!(i & 1))][0];
    while(tr > 0){
      d[(i & 1)][0]++;
      d[(i & 1)][d[(i & 1)][0]] = tr % 10;
      tr /= 10;
    }
  }
  FILE *out = fopen("nunta.out", "w");
  while(d[(n & 1)][0])
    fprintf(out, "%d", d[(n & 1)][d[(n & 1)][0]--]);
  fclose(out);
  return 0;
}