I Intervals on the Ring
Intervals on the Ring
https://ac.nowcoder.com/acm/contest/11257/I
I题 题解:构造k个区间使k个区间所有区间交集是m区间的并集,只需要遍历环形的a[i].l和a[i-1].r就可以把中间的无关数字剔除。 代码: #include<iostream> #include<algorithm> using namespace std; int t,n,m; struct node{ int l,r; }a[1005]; bool cmp(node x,node y) { return x.l<y.l; } int main() { cin>>t; while(t--) { cin>>n>>m; for(int i=0;i<m;i++)cin>>a[i].l>>a[i].r; sort(a,a+m,cmp); cout<<m<<endl; for(int i=0;i<m;i++)cout<<a[i].l<<" "<<a[(m-1+i)%m].r<<endl; } return 0; }