码迷,mamicode.com
首页 > 其他好文 > 详细

2019湖南省赛 K 双向链表练习题(list)

时间:2019-10-03 23:57:13      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:iterator   fir   swap   c++   练习题   http   https   contest   while   

https://ac.nowcoder.com/acm/contest/1099/K

这题大概只要会list就会做吧。。。我是真的dd

 1 #define bug(x) cout<<#x<<" is "<<x<<endl
 2 #define IO std::ios::sync_with_stdio(0)
 3 #include <bits/stdc++.h>
 4 #define iter ::iterator
 5 #define pa pair<int,ll>
 6 #define pp pair<int,pa>
 7 using namespace  std;
 8 #define ll long long
 9 #define mk make_pair
10 #define pb push_back
11 #define se second
12 #define fi first
13 #define ls o<<1
14 #define rs o<<1|1
15 ll mod=998244353;
16 const int N=2e5+5;
17 list<int>L[N],D[N];
18 int n,m;
19 int main(){
20     while(~scanf("%d%d",&n,&m)){
21         for(int i=1;i<=n;i++){
22             L[i].clear();
23             D[i].clear();
24             L[i].pb(i);
25             D[i].pb(i);
26         }
27         vector<int>ans;
28         while(m--){
29             int x,y;
30             scanf("%d%d",&x,&y);
31             L[x].splice(L[x].end(),L[y]);
32             D[y].splice(D[y].end(),D[x]);
33             swap(L[x],D[y]);
34             swap(D[x],D[y]);
35             L[y].clear();
36             D[y].clear();
37         }
38         for(auto tmp:L[1]){
39             ans.pb(tmp);
40         }
41         int h=ans.size();
42         printf("%d ",h);
43         for(int i=0;i<h;i++){
44             printf("%d ",ans[i]);
45         }
46         printf("\n");
47     }
48 }

 

2019湖南省赛 K 双向链表练习题(list)

标签:iterator   fir   swap   c++   练习题   http   https   contest   while   

原文地址:https://www.cnblogs.com/ccsu-kid/p/11621002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!