Pagini recente » Cod sursa (job #1716163) | Cod sursa (job #1415985) | Cod sursa (job #589566) | Cod sursa (job #1676856) | Cod sursa (job #678294)
Cod sursa(job #678294)
#include <stdio.h>
#define maxNK 101
int v[maxNK];
int pre[maxNK];
inline long long f(int v[],int n)
{
long long ret=1;
int pre[maxNK];
for(int i=1;i<=n;++i)
{
for(int j=1;j<v[i];++j)
if(j!=v[i-1])
{
pre[i]=j;
ret+=f(pre,i);
}
pre[i]=v[i];
}
return ret;
}
int main()
{
char ch;
int N,K,T;
long long cnt;
freopen("nkperm.in","r",stdin);
scanf("%d %d %d\n",&N,&K,&T);
freopen("nkperm.out","w",stdout);
for(;T--;)
{
scanf("%c ",&ch);
if(ch=='A')
{
for(int i=1;i<=N*K;++i)
scanf("%d%c",&v[i],&ch);
cnt=0;
for(int i=1;i<=N*K;++i)
{
for(int j=1;j<v[i];++j)
if(j!=v[i-1])
{
pre[i]=j;
cnt+=f(pre,i);
}
pre[i]=v[i];
}
printf("%lld\n",cnt);
}
else
{
scanf("%lld",&cnt);
}
}
return 0;
}