#include<stdio.h>
int v[11]={0};
int m[11];
int cnt=0;
void check()
{
if(m[1]<m[2]&&m[2]<m[3]&&m[3]<m[4]&&m[4]<m[5]&&m[1]<m[6]&&m[2]<m[7]&&m[3]<m[8]&&m[4]<m[9]&&m[5]<m[10]&&m[6]<m[7]&&m[7]<m[8]&&m[8]<m[9]&&m[9]<m[10])
{
cnt++;
}
}
void dfs(int n)
{
if(n==11)
{
check();
return;
}
for(int i=1;i<=10;i++)
if(v[i]==0)
{
v[i]=1;
m[n]=i;
dfs(n+1);
v[i]=0;
}
}
main()
{
dfs(1);
printf("%d",cnt);
return 0;
}
答案:42