Cod sursa(job #1712022)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 1 iunie 2016 20:01:56
Problema Consecutive Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.73 kb
#include<fstream>
#include<deque>
using namespace std;
ifstream f("consecutive.in");
ofstream g("consecutive.out");
int n,ns,sol[20],t;
deque<pair<int,int> >fin;
void ret(int l)
{
    ns++;
    fin.push_back(make_pair(sol[1],sol[l]));
}
void bkt(int i,int sp)
{
    int j;
    if(sp==n&&i>2)
      ret(i-1);
    else
      for(j=sol[i-1]+1;j<=n-sp;j++)
        if(j==sol[i-1]+1||i==1)
        {
            sol[i]=j;
            bkt(i+1,sp+j);
        }
}
int main()
{
    f>>t;
    while(t--)
    {
        f>>n;
        bkt(1,0);
        g<<ns<<"\n";
        while(!fin.empty())
        {
            g<<fin.front().first<<" "<<fin.front().second<<"\n";
            fin.pop_front();
        }
    }
}