Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
35882 LYLAKIOI 【BJ】T1 C++ 解答错误 0 102 MS 18080 KB 1286 2025-01-08 14:14:37

Tests(0/20):


#include<bits/stdc++.h> #define up(i,l,r) for(int i=(l);i<=(r);++i) #define down(i,l,r) for(int i=(l);i>=(r);--i) #define pi pair<int,int> #define p1 first #define p2 second #define p_b push_back #define m_p make_pair using namespace std; typedef long long ll; const int maxn=3e5+10,mod=998244353; inline ll read(){ ll x=0;short t=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')t=-1;ch=getchar();} while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); return x*t; } int n,a[maxn],vis[maxn]; vector<pi>E[maxn]; vector<int>ans; void dfs(int u,int fa){ while(!E[u].empty()){ auto it=E[u].back();E[u].pop_back(); if(vis[it.p2])continue; vis[it.p2]=1;dfs(it.p1,it.p2); } if(fa)ans.p_b(fa); } void slv(){ n=read();up(i,1,n*4)a[i]=read(); up(i,1,2*n)E[a[4*n+1-i]].p_b(m_p(a[i],i)),E[a[i]].p_b(m_p(a[4*n+1-i],i)); up(i,1,2*n)dfs(i,0); reverse(ans.begin(),ans.end()); vector<int>P;int sz=ans.size(); for(int i=0;i<sz;i+=2)P.p_b(ans[i]),P.p_b(4*n+1-ans[i]); sort(P.begin(),P.end()); for(int x:P)printf("%d ",x); } int main(){ //freopen("gem.in","r",stdin); //freopen("gem.out","w",stdout); slv(); fclose(stdin); fclose(stdout); return 0; }


测评信息: