Cod sursa(job #25560)

Utilizator butyGeorge Butnaru buty Data 4 martie 2007 12:56:28
Problema Kperm Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasele 11-12 Marime 0.9 kb
#include<stdio.h>
const int Nmax=100;
int P[Nmax],v[Nmax],N,K,NR;
void cit()
{
    freopen("kperm.in","r",stdin);
    scanf("%d%d",&N,&K);
}
void back (int k )
{
    int i, j, s=0, ok=1 ;
    if(k>N)
    {
        for(i=1;i<=N-K+1;i++)
        {
            s=0;
            for(j=i;j<=i+K-1;j++)
                s+=P[j];
            if(s%3!=0)
                ok=0;
        }
        if(ok)
            NR++;

    }
    else
        for(i=1;i<=N;i++)
            if(v[i]==0)
            {
                v[i]=1;
                P[k]=i;
                back(k+1);
                v[i]=0;
            }
}
void scr()
{
    printf("%d\n",NR);
}
int main()
{
    freopen("kperm.out","w",stdout);
    int i,j,k;
    cit();
    for(i=1;i<=N;i++)
    {
        P[1]=i;
        v[i]=1;
        back(2);
        v[i]=0;
    }
    scr();
    fclose(stdout);
    return 0;
}