美团选择题好多好难,编程题倒是两道水题

第一题不是121212....就是212121,推下就知道4,7,10....这些是121212。
第二题呢,看错题意了,我以为是每次变化后第几个数移到前面,这个不会做啊。有没大佬做下?
然后看样例发现看错题了,离线做,最后面的肯定是在最前面的,然后标记下输出就行了
选择题真的多还难啊!
---------------------------------------------------
我还是贴下代码吧,写得有点搓
#include<cstdio>
using namespace std;
int main() {
    int s,n;
    while(scanf("%d",&n) != EOF) {
        if(n < 3) printf("%d\n",n);
        else if(n==3)printf("21\n");
        else {
            if((n - 1) % 3 == 0) {
                bool flag = false;
                while(n) {
                    if(flag) {
                        printf("2");
                        n -= 2;
                    }
                    else {
                        printf("1");
                        n -= 1;
                    }
                    flag = !flag;
                }
                puts("");
            }
            else {
                bool flag = true;
            while(n) {
                if(flag) {
                    printf("2");
                    n -= 2;
                }
                else {
                    printf("1");
                    n -= 1;
                }
                flag = !flag;
            }
            puts("");
            }


        }

    }
    return 0;
}
#include<cstdio>
#include<cstring>
using namespace std;
int a[100005];
bool vis[100005];
int main() {
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i = 0; i < m; i++) {
        scanf("%d",&a[i]);
    }
    memset(vis,0,sizeof(vis));
    for(int i = m-1; i >= 0; i--) {
        if(!vis[a[i]]) {
            printf("%d\n",a[i]);
            vis[a[i]] = true;
        }
    }
    for(int i = 1; i <= n; i++) {
        if(!vis[i]) printf("%d\n",i);
    }
    return 0;
}

全部评论
第二题说我超时了,只通过了0.7,找半天也不知道哪出问题了
点赞 回复 分享
发布于 2017-10-12 00:15
留了80分钟的时间给编程。。不如好好做选择题😭😭
点赞 回复 分享
发布于 2017-10-11 23:44
第二题怎么做?
点赞 回复 分享
发布于 2017-10-11 22:13
为啥第一题那么做的wrong answer
点赞 回复 分享
发布于 2017-10-11 21:37

相关推荐

不愿透露姓名的神秘牛友
05-01 13:13
ecece:这么明目张胆虚报就业率啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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