Cod sursa(job #1877244)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 13 februarie 2017 10:01:29
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>

using namespace std;
struct alpha
{
    int a; //cel mai mare e in interior
    int b; //cel mai mare e pe margine cu al doilea langa el
    int c; //cel mai mare e pe margine si al doilea e la varful opus
    int d; //cel mai mare e pe margine si al doilea pe interior
    int e; //al doliea cel mai mare e pe margine si primul langa el
}x,y;
int n,t,i;
int main()
{
    ifstream f("12perm.in");
    ofstream g("12perm.out");
    f>>n;
    t=(1<<20)-1;
    if(n==1) g<<"1\n";
    else if(n==2) g<<"2\n";
    else
    {
        x.b=2;
        x.c=2;
        x.e=2;
        for(i=4; i<=n; i++)
        {
            y.a=x.a+x.e;
            y.b=x.b+x.c+x.d;
            y.c=x.c;
            y.d=x.e;
            y.e=x.b;
            x.a=y.a & t;
            x.b=y.b & t;
            x.c=y.c & t;
            x.d=y.d & t;
            x.e=y.e & t;
        }
        g<<((x.a+x.b+x.c+x.d+x.e) & t)<<'\n';
    }
    f.close(); g.close();
    return 0;
}