📄 2031.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 2031 on 2006-05-26 at 17:26:21 */
#include <cstdio>
#include <algorithm>
using namespace std;
const int M = 256;
const int N = 10;
int part[N][M][M];
int main()
{
int n, m, p, i, j, k, t, T;
memset(part, 0, sizeof(part));
for(i = 0; i < N; i++)
for(j = i+1; j < M; j++)
for(k = j/(i+1); k > 0; k--)
if(i == 0) part[i][j][k] = 1;
else part[i][j][k] = part[i][j][k+1]+part[i-1][j-k][k];
scanf("%d", &T);
for(t = 0; t < T; t++) {
scanf("%d %d %d", &m, &n, &p);
for(i = n-2, j = 1; i >= 0; i--) {
for(; p > part[i][m-j][j]; j++) p -= part[i][m-j][j];
printf("%d\n", j);
m -= j;
}
printf("%d\n", m);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -