QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#590811#4996. Icy Itineraryship2077WA 21ms57892kbC++231.2kb2024-09-26 11:40:022024-09-26 11:40:03

Judging History

你现在查看的是最新测评结果

  • [2024-09-26 11:40:03]
  • 评测
  • 测评结果:WA
  • 用时:21ms
  • 内存:57892kb
  • [2024-09-26 11:40:02]
  • 提交

answer

#include<bits/stdc++.h>
#include<bits/extc++.h>
using namespace std;
using namespace __gnu_pbds;
constexpr int M=3e5+5;
cc_hash_table<int,int>mp[M];
int n,m;vector<int>ans1,ans2;
int read(){
    int x=0;char ch=getchar();
    while (!isdigit(ch)) ch=getchar();
    while (isdigit(ch)) x=x*10+ch-48,ch=getchar();
    return x;
}
int check(int x,int y){return mp[x].find(y)!=mp[x].end();}
int main(){
    n=read();m=read();
    for (int i=1;i<=m;i++){
        int x=read(),y=read();
        mp[x][y]=mp[y][x]=1;
    }
    ans1={1};
    for (int i=2;i<=n;i++){
        if (check(ans1.back(),i)){
            ans1.emplace_back(i);
            if (!ans2.empty()&&check(ans1.back(),ans2.back()))
                ans1.emplace_back(ans2.back()),ans2.pop_back();
        }
        else{
            ans2.emplace_back(ans1.back());ans1.pop_back();
            ans2.emplace_back(i);
            if (!ans1.empty()&&!check(ans1.back(),ans2.back()))
                ans2.emplace_back(ans1.back()),ans1.pop_back();
            ans1.emplace_back(ans2.back());ans2.pop_back();
        }
    }
    for (auto x:ans1) printf("%d ",x);
    reverse(ans2.begin(),ans2.end());
    for (auto x:ans2) printf("%d ",x);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 21ms
memory: 57720kb

input:

4 4
1 2
1 3
1 4
3 4

output:

1 3 4 2 

result:

ok qwq

Test #2:

score: -100
Wrong Answer
time: 18ms
memory: 57892kb

input:

5 0

output:

5 4 3 2 1 

result:

wrong answer The first number wasn't 1