首页 > 代码库 > CodeForces 23C Oranges and Apples 抽屉原理
CodeForces 23C Oranges and Apples 抽屉原理
题目链接:点击打开链接
#include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <iostream> #include <map> #include <set> #include <math.h> using namespace std; #define inf 10000000 #define ll __int64 #define N 200005 ll n, m, v; struct node{ int a,b,pos; bool operator<(const node&x)const{ return a!=x.a?a<x.a:b<x.b; } }f[N]; int ans[N]; int main(){ ll i, j, T; cin>>T; while(T--){ cin>>n; ll all = 2*n-1; for(i=1;i<=all; i++){ cin>>f[i].a>>f[i].b; f[i].pos = i; } sort(f+1,f+all+1); ll top = 0; for(i=1;i<all; i+=2) if(f[i].b >= f[i+1].b) ans[top++]=f[i].pos; else ans[top++] = f[i+1].pos; ans[top++]=f[all].pos; puts("YES"); sort(ans,ans+top); for(i=0;i<top;i++) printf("%d%c",ans[i],i==top-1?'\n':' '); } return 0; } /* 3 40 -83 52 -80 -21 -4 */
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。