D 最大字符集 题解
最大字符集
http://www.nowcoder.com/questionTerminal/af5046a591044d8e97116a88b426db36
给你一个数 要求构造
个互不为子串的长度
的
串,并且要求
最大
简单思考之后不难发现,除了的情况以外
答案的
一种可行的构造是,
,
,
的情况特判一下
复杂度
#include <bits/stdc++.h>
#define LL long long
using namespace std;
int n;
int main(){
cin >> n;
if (n == 1){
cout << 1 << '\n';
cout << 1 << '\n';
return 0;
}
if (n == 2){
cout << 2 << '\n';
cout << 0 << '\n';
cout << 11 << '\n';
return 0;
}
if (n == 3){
puts("2");
puts("00");
puts("111");
return 0;
}
cout << n-1 << '\n';
cout << "00\n";
for (int i = 3; i <= n; ++i){
cout << 0;
for (int j = 1; j <= i-2; ++j) cout << 1;
cout << 0;
cout << '\n';
}
return 0;
} 