/*
* UVA_11039.cpp
*
* Created on: 2013年10月7日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1000000;
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
/**
* arr[i] :第i层的大小
* number[i] :大小为i的楼层的眼色
*/
int arr[n];
bool number[maxn];
memset(number,false,sizeof(number));
memset(arr,0,sizeof(0));
int i;
for(i = 0 ; i < n ; ++i){
scanf("%d",&arr[i]);
if(arr[i] < 0){
number[-arr[i]] = true;
arr[i] = -arr[i];
}
}
sort(arr,arr + n );
bool flag = number[arr[n - 1]];
int ans = 1;
for(i = n - 2 ; i >= 0 ; --i){
if(number[arr[i]] != flag ){
ans++;
flag = number[arr[i]];
}
}
printf("%d\n",ans);
}
}
(1.1.10)UVA 11039 Building designing(模拟题)
最新推荐文章于 2021-09-26 17:25:57 发布
本文提供了一道UVA在线评测系统中编号为11039的问题解决方案。通过C++实现,该算法使用了排序和数组处理技术来解决楼层颜色分配问题。具体地,程序读取楼层的大小和颜色信息,然后计算并输出不同颜色楼层的最大连续层数。
1719

被折叠的 条评论
为什么被折叠?



