CSA Round #41 Tennis Tournament
阿新 • • 發佈:2019-01-22
題意:
淘汰賽制遊戲,給出K 和M ,求出一個排列使得第K個人恰在獲勝M場後被淘汰
分析:
前
在判斷不存在排列時,忽略了K為
程式碼:
int main()
{
int n, k, m;
scanf("%d%d%d", &n, &k, &m);
if (k < (1 << m) || k == (1 << n) && m != n) {
puts("-1");
} else {
for (int i = 1; i < (1 << m); i++) {
printf("%d ", i);
}
printf("%d ", k);
for (int i = k + 1; i <= (1 << n); i++) {
printf("%d ", i);
}
for (int i = (1 << m); i < k; i++) {
printf ("%d ", i);
}
puts("");
}
}