UVA_11039 Building Designing
来源:互联网 发布:开微店好还是淘宝店好 编辑:程序博客网 时间:2024/05/23 17:44
题目请点我
题解:
这道题不难,简单的模拟吧。但是收获是定义优先队列的优先级。同学还有一种思路是只放入一个数组中,重载sort比较函数后输出,也很棒。
代码实现:
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <queue>using namespace std;////方法一:放入结构体,重载运算符//struct point{// int x;// bool operator <( const point* a){// return this->x > a->x;// }//};//////////////////////////////////////方法二:定义优先队列时指定好//priority_queue< int, vector<int>, greater<int> > Q1;//priority_queue< int, vector<int>, greater<int> > Q2;////////////////////////////////int T;int Num;int result;bool flag1,flag2;priority_queue< int, vector<int>, greater<int> > Q1;priority_queue< int, vector<int>, greater<int> > Q2;int main(){ scanf("%d",&T); while( T-- ){ while( !Q1.empty() ){ Q1.pop(); } while( !Q2.empty() ){ Q2.pop(); } scanf("%d",&Num); int tmp; int turn; int fir1,fir2; int result = 0; int tag; flag1 = flag2 = true; for( int i = 0; i < Num; i++ ){ scanf("%d",&tmp); if( tmp > 0 ){ Q1.push(tmp); } else{ Q2.push(-tmp); } } fir1 = Q1.top(); //Q1.pop();Q2.pop(); fir2 = Q2.top(); if( fir1 > fir2 ){ turn = 2; } else{ turn = 1; } while( 1 ){ if( turn == 1 ){ if( Q1.empty() ){ break; } result++; tag = Q1.top(); turn = 2; Q1.pop(); } else{ if( Q2.empty() ){ break; } result++; turn = 1; tag = Q2.top(); Q2.pop(); } fir1 = Q1.top(); fir2 = Q2.top(); while( turn == 1 && fir1 < tag && !Q1.empty() ){ Q1.pop(); fir1 = Q1.top(); } while( turn == 2 && tag > fir2 && !Q2.empty() ){ Q2.pop(); fir2 = Q2.top(); } } printf("%d\n",result); } return 0;}
0 0
- UVA_11039 Building Designing
- uva_11039 - Building designing( 基數排序 )
- Building Designing
- Building designing
- Building designing
- UVA 11039 Building designing
- UVA 11039 - Building designing
- uva 11039 - Building designing
- Uva-11039-Building designing
- UVa 11039 - Building designing
- 11039 - Building designing
- Uva - 11039 - Building designing
- UVA 11039 - Building designing
- uva11039-Building designing
- uva 11039 Building designing
- Uva 11039 - Building designing
- uva11039 Building designing
- UVA 11039 - Building designing
- SpringMvc+Jdbc泛型反射BaseDao
- Latex listings 宏包排版代码
- 全民Scheme(2):来自星星的你
- JAVA基础第六天
- SQLserver2008R2之登录篇(续)
- UVA_11039 Building Designing
- 半年沉淀,开始。
- 认识自己——恐惧的奴隶6:老师
- IOS 开发,调用打电话,发短信,打开网址
- Unique Paths II
- JAVA基础第七天
- IOS编程第四版第二章:Objective-C
- LeetCode | Contains Duplicate III
- 浅谈 MVP in Android