Cod sursa(job #466291)

Utilizator sodamngoodSo Damn Good sodamngood Data 26 iunie 2010 12:52:04
Problema Permutari2 Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 2 Marime 0.61 kb
#include <iostream>
#include <vector>
using namespace std;

int N, K, sol;
vector<int> A;

int main() {
    FILE *f1=fopen("permutari2.in", "r"), *f2=fopen("permutari2.out", "w");
    int i, j;
    fscanf(f1, "%d %d\n", &N, &K);
    for(i=1; i<=N; i++) {
         A.push_back(i);
    }
    do {
         int sum = 0; j = 0;
         for(i=0; i<N; i++) {
              sum += A[i];
              if(sum == (i + 2) * (i + 1) / 2) j++;
         }
         if(j == K) sol++;
    } while(next_permutation(A.begin(), A.end()));
    
    fprintf(f2, "%d\n", sol);
    fclose(f1); fclose(f2);
    return 0;
}