Cod sursa(job #2205880)

Utilizator jack92657Jacky boy jack92657 Data 20 mai 2018 15:37:02
Problema Pavare2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
ll n, test, pd[2][105][105], a[2];

int main()
{
    ifstream fin ("pavare2.in");
    ofstream fout ("pavare2.out");
    fin >> n >> a[0] >> a[1] >> test;
    for (ll i = 1; i <= a[0]; ++i)
        pd[0][i][0] = 1;
    for (ll i = 1; i <= a[1]; ++i)
        pd[1][i][0] = 1;
    for (ll i = 1; i <= n; ++i)
        for (ll t = 0; t < 2; ++t)
            for (ll j = 1; j <= a[t] && j+i <= n; ++j)
                for (ll k = 1; k <= a[1-t] && k <= i; ++k)
                    pd[t][j][i] += pd[1-t][k][i-k];
    ll ans = 0;
    for (ll i = 1; i <= a[0]; ++i)
        ans += pd[0][i][n-i];
    for (ll i = 1; i <= a[1]; ++i)
        ans += pd[1][i][n-i];
    fout << ans << "\n0";
    int sofar = 1, type = 0;
    for (int i = 2; i <= n; ++i)
        if(sofar == a[type]){
            sofar = 1;
            type = 1-type;
            fout << type;
        }else{
            fout << type;
            ++sofar;
        }
    return 0;
}