Cod sursa(job #1180215)

Utilizator ArmandNMArmand Nicolicioiu ArmandNM Data 30 aprilie 2014 09:48:31
Problema Dirichlet Scor 8
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
//back....
#include <fstream>

const int NMAX = 1000005;
const int MOD = 9999991;

using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");

long long N, sol[NMAX], nrsol;

void bt(int k, int sum)
{
    if (k == N+1)
    {
        if (sum == N)
            nrsol++;
        if (nrsol >= MOD)
            nrsol -= MOD;
    }

    else
    for (int i = 0; i <= k; ++i)
    {
        if (sum + i <= k)
        {
            sol[i] = i;
            bt(k+1, sum + i);
        }
    }
}

int main()
{
    f >> N;
    bt(1,0);

    g << nrsol;

    f.close();
    g.close();

    return 0;
}