Cod sursa(job #3893)

Utilizator blasterzMircea Dima blasterz Data 29 decembrie 2006 12:11:19
Problema 12-Perm Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#define mod 1048576

int main()
{
  long long ti, ti1,ti2, ti3;
  int n, i;
  freopen("12perm.in", "r", stdin);
  scanf("%d\n", &n);

  if(n==1) {printf("1\n"); return 0;}
  if(n==2) { printf("2\n"); return 0;}
  if(n==3) { printf("6\n"); return 0;}
  if(n==4) { printf("12\n"); return 0;}

  ti1=12;
  ti2=6;
  ti3=2;

  for(i=5;i<=n;i++)
    {
      ti=ti1+ti3+2*(i-2);
      // ti=ti1;
      //ti%=mod;
      //ti+=ti3;
      //ti%=mod;
      //ti+=2*(i-2);
      //ti%=mod; 

      ti3=ti2;
      ti2=ti1;
      ti1=ti;
      ti=ti%mod;
      ti1=ti1%mod;
      ti2=ti2%mod;
      ti3=ti3%mod;
    }
  freopen("12perm.out", "w", stdout);
  printf("%lld\n", ti%mod);
  return 0;
}