Пример #1
0
unsigned long int all_combination(int start,int max,int n)
{
    int i,k;
    static unsigned long int count;
    if(start == n)
    {
        for(i=0;i<10;i++)
            printf("%d",a[i]);
        printf("\n");
        return (count++ % 1000000007);
    }
    for(i=start;i<n;i++)
    {
        for(k=1;k<=(max+1);k++)
        {
            a[i]=k;
            if(k < max)
                all_combination(i+1,max,n);
            else
                all_combination(i+1,max+1,n);
        }
    }
    return count;

}
Пример #2
0
int main()
{
    unsigned long int ans;
    int t,n,i;

    scanf("%d",&t);
    while(t--)
    {
        ans=1;
        scanf("%d",&n);
        ans = all_combination(1,1,n);
        printf("%ld\n",ans);
    }
    return 0;

}
//================================================================
// 테스트용 메인 함수
//================================================================
int main(void)
{
	char list[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ-";		// 입력받기 귀찮아서 미리 셋팅
	int n;

	//------------------------------------------------
	// Step 1: 입력 받기
	printf("input n = ");
	scanf("%d", &n);

	//------------------------------------------------
	// Step 2: 문제 해결
	all_combination(n, list);
	printf("\n");

	return 0;
}