CodeForces 416C Booking System(贪心)
来源:互联网 发布:火影忍者ol长十郎数据 编辑:程序博客网 时间:2024/04/19 14:55
比赛时因为写的时间太晚了,有点着急,结果也没写出来。
分析:贪心。按照团队的花费从大到小排序,如果花费相同则按照人数从小到大排序。然后从k张桌子里面挑选可以让这个团队坐下的桌子,然后把这个团队的id和桌子的id记录下来输出即可。
#include<stdio.h>#include<algorithm>using namespace std;int n, k;struct table //桌子{ int id; int limit; int flag;}t[1005];struct group //团队{ int num; int id; int cost;}g[1005];struct Ans //答案{ int g_id; int t_id;}ans[1005];bool comp1(group g1, group g2){ if(g1.cost != g2.cost) return g1.cost > g2.cost; return g1.num < g2.num;}bool comp2(table t1, table t2){ return t1.limit < t2.limit;}int Search(int x){ for(int i = 0; i < k; i++) { if(!t[i].flag && t[i].limit >= x) { t[i].flag = 1; return t[i].id; } } return -1;}int main(){ int i; while(~scanf("%d",&n)) { for(i = 0; i < n; i++) { scanf("%d%d",&g[i].num, &g[i].cost); g[i].id = i + 1; } sort(g, g+n, comp1); scanf("%d",&k); for(i = 0; i < k; i++) { scanf("%d",&t[i].limit); t[i].flag = 0; t[i].id = i + 1; } sort(t, t+k, comp2); int s = 0, sum = 0; for(i = 0; i < n; i++) { int pos = Search(g[i].num); if(pos == -1) continue; ans[s].g_id = g[i].id; ans[s++].t_id = pos; sum += g[i].cost; } printf("%d %d\n",s, sum); for(i = 0; i < s; i++) printf("%d %d\n",ans[i].g_id, ans[i].t_id); } return 0;}
0 0
- CodeForces 416C Booking System(贪心)
- codeforces 416C Booking System (贪心)
- CodeForces 416C:Booking System(贪心)
- codeforces 416C C. Booking System(贪心)
- codeforces 416C C. Booking System(贪心)
- Codeforces 416C Booking System(贪心)
- Codeforces 416C Booking System [贪心]
- CodeForces 416C Booking System
- Codeforces 416C Booking System
- CodeForces 416C Booking System
- codeforces 416C C. Booking System
- codeforce 416C Booking System
- Booking System<贪心>
- cf C - Booking System
- CodeForces Round #241 (Div. 2) 416C Booking System 订餐系统
- CodeForces 22C System Administrator (贪心)
- GYM 100694 J.Ticket Booking(贪心)
- CodeForces 508C (贪心)
- 用StringBuilder(StringBuffer)#append替代字符串”+”会带来性能提升吗
- php实现socket
- kmp算法
- iPad版Office曝漏洞:不付费也能用全部功能
- Linux下NFS建立与配置
- CodeForces 416C Booking System(贪心)
- 使用Visio画流程图
- 二分查找算法
- java.sql.SQLException之数组越界
- 再论无处不在的回调机制---注册与回调
- 零基础学Cocos2d-X 3.0 - 02
- ralink wireless wifi使用 USB WIFI如何使用
- java中两个整数相除得到小数点并保留两位小数的方法
- property's synthesized getter follows Cocoa naming convention for returning 'owned' objects