Cod sursa(job #1360370)

Utilizator retrogradLucian Bicsi retrograd Data 25 februarie 2015 14:02:18
Problema Pavare2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include<fstream>
#include<vector>
#include<map>

using namespace std;
typedef int var;

ifstream fin("pavare2.in");
ofstream fout("pavare2.out");

#define MAXN 101

var DIN[MAXN][MAXN][2];
vector<var> SOL;

int main() {
    var n, a, b;
    fin>>n>>a>>b;
    DIN[0][0][0] = DIN[0][0][1] = 1;
    for(var i=1; i<=n; i++) {
        for(var t=1; t<=b; t++) {
            DIN[i][1][0] += DIN[i-1][t][1];
        }
        for(var t=1; t<=a; t++) {
            DIN[i][1][1] += DIN[i-1][t][0];
        }

        for(var t=1; t<=a; t++) {
            DIN[i][t][0] += DIN[i-1][t-1][0];
        }
        for(var t=1; t<=b; t++) {
            DIN[i][t][1] += DIN[i-1][t-1][1];
        }
    }
    var sum = 0;

    for(var i=1; i<=a; i++) {
        sum += DIN[n][i][0];
    }
    for(var i=1; i<=b; i++) {
        sum += DIN[n][i][1];
    }

    fout<<sum;

    for(var r=1; r<=n/a; r++) {
            for(var i=1; i<=a; i++) {
                SOL.push_back(0);
            }
            SOL.push_back(1);
    }

    fout<<endl;
    for(var i=0; i<n; i++) {
        fout<<SOL[i];
    }

    return 0;
}