题解 | #Flipping Pancake#

Flipping Pancake

https://www.nowcoder.com/practice/ff6100747612420dadf799810b56bf27

#include <iostream>
#include <vector>
using namespace std;
int n;
int a[35];
int main() {
    while (cin >> n && n) {
        for (int i = 1; i <= n; i++)
            cin >> a[i];
        int cnt = 0, num = n;
        vector<int>ans;
        while (num > 1) {
            int maxn = 0, maxx = 0;
            for (int i = 1; i <= num; i++) {
                if (a[i] > maxx) {
                    maxx = a[i];
                    maxn = i;
                }
            }
            if(maxn == num)
            {
                num--;
                continue;
            }
            if (maxn == 1) {
                ans.push_back(num);
                for (int i = 1, j = num; i <= j; i++, j--) {
                    swap(a[i], a[j]);
                }
                cnt++;
            } else {
                ans.push_back(maxn);
                ans.push_back(num);
                for (int i = 1, j = maxn; i <= j; i++, j--) {
                    swap(a[i], a[j]);
                }
                for (int i = 1, j = num; i <= j; i++, j--) {
                    swap(a[i], a[j]);
                }
                cnt += 2;
            }
            num--;
        }
        cout << cnt;
        for (int i = 0; i < ans.size(); i++)
            cout << " " << ans[i];
        cout << endl;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务