Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
100260 | modongtao | 九连环 | C++ | 通过 | 100 | 0 MS | 260 KB | 680 | 2023-08-25 10:19:51 |
#include <bits/stdc++.h> using namespace std; bool cur[10]; bool steps[500][10]; int step; int setStatus(int i, bool status) { if (cur[i] == status) return 0; if (i == 0) return 0; int res = setStatus(i - 1, 1); for (int j = i-2; j >= 1; j--) res += setStatus(j, 0); cur[i] = status; step++; for (int j = 1; j <= 9; j++) steps[step][j] = cur[j]; return res; } int main() { for (int i = 1; i <= 9; i++) cur[i] = steps[0][i] = 1; for (int i = 9; i >= 1; i--) setStatus(i, 0); int x; while (cin >> x) { if (x > step) cout << -1 << endl; else { for (int i = 1; i <= 9; i++) cout << steps[x][i]; cout << endl; } } return 0; }