最大字符集
思路:
除了n ≤ 2的,其他答案的k = n - 1
一种可行的构造是
0000,
010010,
01100110,
......
代码:
1 #include <iostream> 2 using namespace std; 3 4 int main(){ 5 int n; 6 cin >> n; 7 if (n == 1){ 8 cout << 1 << endl << 1 << endl; 9 return 0; 10 } else if (n == 2){ 11 cout << 2 << endl << 0 << endl<< 11 << endl; 12 return 0; 13 } else if (n == 3){ 14 cout << "2" << endl << "00" << endl << "111" << endl; 15 return 0; 16 } 17 cout << n-1 << '\n'; 18 cout << "00" << endl; 19 for (int i = 3; i <= n; ++i){ 20 cout << 0; 21 for (int j = 1; j <= i-2; ++j) 22 cout << 1; 23 cout << 0; 24 cout << endl; 25 } 26 return 0; 27 }
扫描二维码关注公众号,回复:
10959427 查看本文章