“科大讯飞杯”第18届上海大学程序设计联赛春季赛暨高校网络友谊赛-2020年4月18日

最大字符集

 思路:

除了≤ 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 查看本文章

猜你喜欢

转载自www.cnblogs.com/ZhengQC/p/12733870.html