#include
#include
int num[15] = {0};
void print(int n, int m, int p, int x)
{
int i,j;
if(p)
{
p--;
num[x - p - 1] = m;
for(i = m + 1; i < n; i++)
{
print(n, i, p, x);
num[x - p -1] = i;
}
}
else
{
printf("%d", num[0]);
for(j=1; j<x; j++) printf(" %d", num[j]);
printf("\n");
}
}
int main()
{
int n, i;
int *t1;
int *t2;
scanf("%d", &n);
t1 = (int *)malloc(sizeof(int) * n);
t2 = (int *)malloc(sizeof(int) * n);
for(i=0;i<n;i++)
{
scanf("%d %d", t1+i, t2+i);
if(t1[i]>15 || t2[i] > t1[i])
{
printf("输入错误!\n");
i--;
}
}
for(i=0;i<n;i++)
{
printf("Case %d:\n", i+1);
print(t1[i]+2, 1, t2[i], t2[i]);
}
free(t1);
free(t2);
return 0;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。