【来源】
题目2 : K-th string
【分析】
利用C++ STL中<algorithm>里的next_permutation()函数来计算下一个值。
【代码】
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int T;
cin >> T;
int M, N, K;
while (T--){
cin >> N >> M >> K;
string s = "";
for (int i = 0; i < N; ++i){
s += "0";
}
for (int i = 0; i < M; ++i){
s += "1";
}
bool valid = true;
for (int i = 0; i < K-1; ++i){
if (!next_permutation(s.begin(), s.end())){
cout << "Impossible" << endl;
valid = false;
break;
}
}
if (valid){
for (int i = 0; i < s.size(); ++i){
cout << s[i];
}
cout << endl;
}
}
system("pause");
return 0;
}
【分析】
考察库函数的使用。
【备注】
本代码未经过OJ提交测试,如有问题欢迎讨论。