「HKUSTニュースフライングカップ」第18回上海大学プログラミングリーグ春トーナメントおよびカレッジネットワークフレンドリーマッチD-Max文字セット

リンク:https
://ac.nowcoder.com/acm/contest/5278/D出典:Niuke.com

制限時間:C / C ++ 1秒、2秒言語、他の
スペースの制限:C / C ++ 524288K、他の言語1048576K
特別審査員、IOは、フォーマットを64:LLDの%を

タイトルの説明

Cubercslは、「海が好き」のように01ストリングを非常に気に入っています。この日、彼は彼女に01ストリングのコレクションを送信したいと考えています。
彼は当然、コレクションがより多様であるほど、より良いものになることを望んでいます。そのため、このセットが次の条件を満たすことを期待しています。
  • 各文字列は0と1で構成されます。
  • 各文字列の長さは1〜nで、各ペアの長さは異なります。
  • コレクション内のどの文字列も、他の文字列の部分文字列ではありません。
彼の要件を満たす最大のコレクションを見つけるのを手伝ってください。
文字列aは、bの先頭と末尾から一部の文字(ゼロまたはすべて)が削除された場合にのみ、bの部分文字列です。

説明を入力してください:

整数N-含む唯一の行、(1≤n≤3001\ n型のLeq \のLeq 300 。1 N- 3 0 0)。

出力の説明:

最初の行は、このセットのサイズkを出力します。
次のk行はそれぞれ、このセットの要素を表す01文字列を出力します。
答えは一意ではなく、要件を満たす答えはすべて正しいと判断されます。
例1

入力

1

アウトプット

1 
1
例2

入力

5

アウトプット

4 
00 
110 
1010 
11111

<2 << endl << 0 << endl << 11 << endl;     }     その他




























    {
        cout << n-1 << endl;
        for(int j = 0; j <n-1; j ++)
        {
            cout << 1;
            for(int i = 0; i <j; i ++)
            {
                cout << 0;
            }
            cout << 1 << endl;
        }
    }
}


おすすめ

転載: www.cnblogs.com/SyrupWRLD999/p/12730801.html