这题看了网上的答案的。还是很巧妙的
/* ID: yingzho1 LANG: C++ TASK: kimbits */ #include <iostream> #include <fstream> #include <string> #include <map> #include <vector> #include <set> #include <algorithm> #include <stdio.h> #include <queue> #include <cstring> #include <cmath> #include <list> #include <cstdio> #include <cstdlib> using namespace std; ifstream fin("kimbits.in"); ofstream fout("kimbits.out"); ; int N, L; long long I; int main() { fin >> N >> L >> I; vector<vector<, vector<)); ; i <= N; i++) f[i][] = ; ; i <= N; i++) { ; j <= i; j++) { f[i][j] = f[i-][j-] + f[i-][j]; } } ; i <= N; i++) { ; j <= N; j++) { f[i][j] += f[i][j-]; } } ; i--) { ][L] >= I) fout << "; else { fout << "; I -= f[i-][L--]; } } fout << endl; ; }