[问题分解]UVa11054 - Wine trading in Gergovia
2015-09-24 02:58
495 查看
#include<bits/stdc++.h> using namespace std; struct pp { int x1,x2,y1,y2,x,y,num; }B[5050]; bool cmp1(pp a,pp b) { if(a.x2==b.x2) return a.x1<b.x1; else return a.x2<b.x2; } bool cmp2(pp a,pp b) { if(a.y2==b.y2) return a.y1<b.y1; else return a.y2<b.y2; } bool cmp3(pp a,pp b) { return a.num<b.num; } int main() { int n; while(scanf("%d",&n)&&n){ for(int i=0;i<n;i++) { scanf("%d%d%d%d",&B[i].x1,&B[i].y1,&B[i].x2,&B[i].y2); B[i].x=0; B[i].y=0; B[i].num=i+1; } sort(B,B+n,cmp1); int AA=0,BB=0; for(int i=1;i<=n;i++) for(int j=0;j<n;j++) { if(B[j].x1<=i &&B[j].x2>=i &&!B[j].x) { B[j].x=i; AA++; break; } } sort(B,B+n,cmp2); for(int i=1;i<=n;i++) for(int j=0;j<n;j++) { if(B[j].y1<=i &&B[j].y2>=i &&!B[j].y) { B[j].y=i; BB++; break; } } if(AA==n&&BB==n){ sort(B,B+n,cmp3); for(int i=0;i<n;i++) printf("%d %d\n",B[i].x,B[i].y); } else printf("IMPOSSIBLE\n"); } return 0; }
相关文章推荐
- leetcode: (260) Single Number III
- 2015 Google hosts 持续更新【更新于:2015-09-22】
- leetcode: (141) Linked List Cycle
- uva 11383 - Golden Tiger Claw(完美匹配)
- HDU 3966 Aragorn's Story(树链剖分)
- First Bad Version(二分查找的应用)
- Google 开源压缩算法,要让网速更快
- MangoDB存储过程
- Google apac 在线笔试round2
- django-crontab实现Django定时任务
- django 1.8 官方文档翻译:13-1-2 使用Django认证系统
- Mongo DB的分析和应用场景
- golang基础知识之文件操作
- google drive
- 用过django就知道django的model有多方便
- [网易笔试]Best Compression Algorithms
- django 整合富文本编辑器 tiny_mce
- Hive笔记之------------基础&&实例操作(sogou 500w数据,创建一张表sogou_20111230....)
- golang 索引
- Archipelago - SGU 120(计算几何向量旋转)