Cod sursa(job #1363794)

Utilizator LegionHagiu Stefan Legion Data 27 februarie 2015 11:22:59
Problema Pavare2 Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,a,b,k,total;
bool numere[110];
bool bun[110];
void rez(int t,int catea,int cateb)
{
    int i;
    if (t==n+1)
    {
        total++;
        k--;
        if (k==0)
        {
            for (i=1; i<=n; i++)
            {
                bun[i]=numere[i];
            }
        }
    }
    else if (t<=n)
    {
        if (catea<a)
        {
            numere[t]=0;
            rez(t+1,catea+1,0);
        }
        if (cateb<b)
        {
            numere[t]=1;
            rez(t+1,0,cateb+1);
        }
    }
}
int main()
{
    ifstream in("pavare2.in");
    ofstream out("pavare2.out");
    int i;
    in>>n;
    in>>a;
    in>>b;
    in>>k;
    rez(1,0,0);
    out<<total<<"\n";
    for (i=1; i<=n; i++)
    {
        out<<bun[i];
    }
}