社区讨论

TLE 快来帮我啊

P7912[CSP-J 2021] 小熊的果篮参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo1y8npo
此快照首次捕获于
2023/10/23 04:56
2 年前
此快照最后确认于
2023/11/03 05:22
2 年前
查看原帖
这是我写的代码
CPP
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a;
    cin>>a;
    int b[a];
    for(int i=0;i<a;i++)
        cin>>b[i];
    int c,d[200000],e;
    while(1)
    {
    	c=2;
        memset(d,0,sizeof(d));
        e=0;
        for(int i=0;i<a;i++)
        {
            if(b[i]==3)
                continue;
            if(c!=b[i])
            {
                c=b[i];
                b[i]=3;
                d[e]=i+1;
                e++;
            }
        }
        if(d[0]==0)
            break;
        for(int i=0;i<e;i++)
            cout<<d[i]<<' ';
        cout<<endl;
    }
}
TLE 60
然后CHATGPT帮我改了代码
结果是错的
于是我又把改过的代码再改了一遍
TLE 70
看来CHATGPT也不靠谱,555!
CPP
#include <bits/stdc++.h>
using namespace std;

int main() {
    int a;
    cin >> a;
    int b[a];
    for (int i = 0; i < a; i++)
        cin >> b[i];

    int c,e;
    vector<int> d;

    while (true) {
        d.clear();
        e = 0;
		c = 2;
        for (int i = 0; i < a; i++) {
            if (b[i] == 3)
                continue;
            if (c != b[i]) {
                c = b[i];
                b[i] = 3;
                d.push_back(i + 1);
                e++;
            }
        }

        if (d.empty())
            break;

        for (int i = 0; i < e; i++)
            cout << d[i] << ' ';
        cout << endl;
    }
}
能告诉我怎么改才能过吗
如果能帮到我的话可以奖励一个fan哦!!!

回复

1 条回复,欢迎继续交流。

正在加载回复...