1 条题解
-
0
- 二进制周期
我们来看看周期 和 的字符串长什么样。
周期等于 的字符串有两种类型: 和 。
周期等于 的字符串也有两种类型: 和 。容易看出,如果 只由 (或只由 )组成,那么字符串 本身就是一个答案,因为它的周期等于 。
否则,也很显然,任何字符串 都是长度为 的 (或 )的子序列。#include <bits/stdc++.h> using namespace std; int main() { int T; cin >> T; while (T--) { string t; cin >> t; bool has0 = false, has1 = false; for (char c : t) { if (c == '0') has0 = true; else has1 = true; } if (!has0 || !has1) { // 只有一种字符,直接输出 t 即可(周期为 1) cout << t << '\n'; } else { // 同时有 0 和 1,构造 "01" 重复 len(t) 次,周期为 2 int len = t.size(); for (int i = 0; i < len; ++i) { cout << "01"; } cout << '\n'; } } return 0; }
- 1
信息
- ID
- 6977
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者