Cod sursa(job #369580)

Utilizator alexandru92alexandru alexandru92 Data 28 noiembrie 2009 19:20:24
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
/* 
 * File:   main.cpp
 * Author: virtualdemon
 *
 * Created on November 28, 2009, 6:29 PM
 */
#include <vector>
#include <fstream>
#include <cstdlib>
#include <iterator>
#include <algorithm>
#define pb push_back

/*
 * 
 */
using namespace std;
vector<unsigned int > v;
int main(int argc, char** argv)
{int i;
 unsigned int n, p;
    ifstream in("combinari.in");
    in>>n>>p;
    for( i=1; i <= p; ++i )
        v.pb(i);
    ofstream out("combinari.out");
    while( true )
    {
        copy( v.begin(), v.end(), ostream_iterator<unsigned int>( out, " " ) );
        out<<'\n';
        ++v[v.size()-1];
        for( i=v.size()-1; i > 0 && v[i] > n-p+i+1; --i, ++v[i] );
        if( v[0] > n-p+1 )
            break;
        for( i+=1; i < p; ++i )
            v[i]=v[i-1]+1;
    }
    return (EXIT_SUCCESS);
}