平平无奇的编程萌新 2021-08-23 19:44 采纳率: 95.2%
浏览 194
已结题

51NOD-3413-小华与布丁

小华非常喜欢吃布丁。这一天她打算购买原味和抹茶味两种布丁,共n个,之后按照一定顺序将n个布丁全部吃完。

然而如果小华连续吃到三个同口味的布丁,她会感到厌腻而无法继续吃。请你帮助小华规划吃布丁的每一种可行的口味顺序,使她能够全部吃完而不产生厌腻感。

输入格式
输入一个数n,表示布丁的数量。
输出格式
每行输出一个由'0'和'1'组成的字符串,表示一种可行的吃布丁的顺序。其中0表示原味,1表示抹茶味。 请将可行的每种方案按字典序升序输入。
输入样例
3
输出样例
001
010
011
100
101
110
数据范围
对于100%的数据,1≤n≤20;

  • 写回答

1条回答 默认 最新

  • aabyte 2021-08-23 23:09
    关注
    #include <iostream>
    using namespace std;
    void f(int j, int n, int* a)
    {
        if (j == n)
        {
            int flag = 0;
            for (int i = 0; i <= n - 3; i++)
            {
                if (a[i] == 1 && a[i + 1] == 1 && a[i + 2] == 1)
                    flag = 1;
                if (a[i] == 0 && a[i + 1] == 0 && a[i + 2] == 0)
                    flag = 1;
            }
            if (flag == 0)
            {
                for (int i = 0; i < n; i++)
                {
                    cout << a[i];
                }
                cout << endl;
            }
        }
        else
        {
            a[j] = 0;
            f(j + 1, n, a);
            a[j] = 1;
            f(j + 1, n, a);
        }
    }
    int main()
    {
        int n = 0;
        cin >> n;
        int* p = new int[n];
        f(0, n, p);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月1日
  • 已采纳回答 8月24日
  • 创建了问题 8月23日

悬赏问题

  • ¥15 win2012 iscsi ipsec
  • ¥15 封装的 matplotlib animation 不显示图像
  • ¥15 python摄像头画面无法显示
  • ¥15 关于#3d#的问题:d标定算法(语言-python)
  • ¥15 cve,cnnvd漏洞扫描工具推荐
  • ¥15 图像超分real-esrgan网络自己训练模型遇到问题
  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)