Cod sursa(job #2428362)

Utilizator alcholistuStafie Ciprian Mihai alcholistu Data 4 iunie 2019 21:49:43
Problema 1-sir Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>
#include <queue>
using namespace std;

struct Nod
{
    long long valoare;
    int parinte;
    Nod(int val = 0,int par = 0): valoare(val), parinte(par) {
    };
};

int main()
{
    ifstream f("1-sir.in");
    ofstream g("1-sir.out");
    short n, cnt=0, i;
    long long s;
    f >> n >> s;
    queue<Nod> *myQueue = new queue<Nod>();
    myQueue->push(Nod());
    for (i=2;i<=n;i++)
    {
        queue<Nod> *anotherQueue = new queue<Nod>();
        while (!myQueue->empty())
        {
            Nod element = myQueue->front();
            myQueue->pop();
            anotherQueue->push(Nod(element.valoare+element.parinte+1, element.parinte+1));
            anotherQueue->push(Nod(element.valoare+element.parinte-1, element.parinte-1));
        }
        delete myQueue;
        myQueue = anotherQueue;
    }
    while(!myQueue->empty())
    {
        Nod element = myQueue->front();
        myQueue->pop();
        if (element.valoare == s)
            ++cnt;
    }
    delete myQueue;
    g << cnt%194767;
    return 0;
}