zoj3721

来源:互联网 发布:淘宝达人有什么用处 编辑:程序博客网 时间:2024/05/16 19:49
#include<iostream>#include<cstdio>#include<list>#include<algorithm>#include<cstring>#include<string>#include<queue>#include<stack>#include<map>#include<vector>#include<cmath>#include<memory.h>#define ll long long#define LL __int64using namespace std;vector<int>G[100002];struct Node{int s,t;int id;}node[100002];void clear(){memset(node,0,sizeof(node));}bool cmp(Node x,Node y){if(x.s==y.s){if(x.t==y.t)return x.id<y.id;return x.t<y.t;}return x.s<y.s;}int main(){int n;while(cin>>n){clear();for(int i=0;i<=n+1;i++)G[i].clear();for(int i=0;i<n;i++){scanf("%d %d",&node[i].s,&node[i].t);node[i].id=i+1;}sort(node,node+n,cmp);int minn=node[0].t;int ans=1;G[ans].push_back(node[0].id);for(int i=1;i<n;i++){if(node[i].s<minn){G[ans].push_back(node[i].id);if(node[i].t<minn)minn=node[i].t;}else{ans++;G[ans].push_back(node[i].id);minn=node[i].t;}}cout<<ans<<endl;for(int i=1;i<=ans;i++){for(int j=0;j<G[i].size();j++){if(j!=0)printf(" %d",G[i][j]);elseprintf("%d",G[i][j]);}cout<<endl;}}return 0;}

原创粉丝点击