首页 > 代码库 > codeforces 459C Pashmak and Buses(模拟,组合数A)

codeforces 459C Pashmak and Buses(模拟,组合数A)

题目

 

 

跑个案例看看结果就知道了:8 2 3

 

题目给的数据是 n,k,d

 

相当于高中数学题:k个人中选择d个人排成一列,有多少种不同的方案数,列出其中n中就可以了。

 

 

#include<iostream>#include<algorithm>#include<string>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>using namespace std;#define ll __int64int mp[1005][1005];int main(){    int n,k,d;    scanf("%d%d%d",&n,&k,&d);        int ddd=d,kkk=1;    int flag=0;    while(ddd--)    {        kkk=kkk*k;        if(kkk>=n)flag=1;    }    if(flag==0)        printf("-1\n");    else {        int kk,num=1,kkk=1;        for(int i=0;i<d;i++)        {            kk=1;            for(int j=0;j<n;j++)            {                mp[i][j]=kk;                if(num==kkk)kk++,kkk=0;                kkk++;                if(kk>k)kk=kk-k;            }            num=num*k;        }        for(int i=0;i<d;i++)        {            int yi=0;            for(int j=0;j<n;j++)            {                if(yi)printf(" ");yi=1;                printf("%d",mp[i][j]);            }            puts("");        }    }    return 0;}
View Code