Cod sursa(job #1194404)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 3 iunie 2014 19:45:04
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <vector>
#include <cstring>

#define Nmak 91
#define IT vector<int>::iterator

using namespace std ;
vector <int> Graph[Nmak];
int cnt[Nmak],sol[Nmak];
int n,minv = Nmak,m,a,b,s;

inline void back(int k)
{
    int i;
    for (i = k; i <=n && s <= 18; ++i)
    {
        if (cnt[i])
        {
            ++cnt[i];
            continue;
        }
        for (IT it = Graph[i].begin(); it!=Graph[i].end(); ++it)
            if (++cnt[*it]==1) ++s;
        back (i+1);
        for (IT it = Graph[i].begin(); it!=Graph[i].end(); ++it)
            if (--cnt[*it]==0) --s;
        ++s; ++cnt[i];
    }
    if (s<minv)
    {
        minv = s;
        for (int k=1; k<=n; ++k) sol[k] = cnt[k];
    }
    for (int j=k; j<i; ++j)
        if (--cnt[j]==0) --s;
}

inline void Read()
{
    ifstream f("adunare.in");
    f>>a>>b;
    f.close();
}

inline void Write()
{
    ofstream g ("adunare.out");
    g<<a+b<<"\n";
    g.close();
}

int main()
{
    Read();
    back (1);
    Write();
    return 0;
}