UVA11039
2014-11-02 11:38
246 查看
题意:
给你一个序列,由n个数字组成,每个数字的绝对值都不相同,然后让你从这n个数中拿出一些数,组成一个绝对值递增并且正负交替的最大序列,问组成的最大序列的最大长度是多少?
思路:
比较简单,突破口是所有数字的绝对值都不同,那么我们直接模拟就行了,直接按绝对值sort一遍,然后第一个默认是找出序列的第一个,然后直接看看有多少正负交替的就行了,具体看代码。
#include<stdio.h>
#include<algorithm>
#define N 500000 + 10
using namespace std;
int num
;
int abss(int x)
{
return x > 0 ? x : -x;
}
bool camp(int a ,int b)
{
return abss(a) < abss(b);
}
int main ()
{
int n ,i ,Ans ,nowzf ,t;
scanf("%d" ,&t);
while(t--)
{
scanf("%d" ,&n);
for(i = 1 ;i <= n ;i ++)
scanf("%d" ,&num[i]);
sort(num + 1 ,num + n + 1 ,camp);
num[1] < 0 ? nowzf = 1 : nowzf = -1;
for(Ans = 0 ,i = 1 ;i <= n ;i ++)
{
if(num[i] >= 0 && nowzf < 0 || num[i] < 0 && nowzf > 0)
{
Ans ++;
nowzf *= -1;
}
}
printf("%d\n" ,Ans);
}
return 0;
}
给你一个序列,由n个数字组成,每个数字的绝对值都不相同,然后让你从这n个数中拿出一些数,组成一个绝对值递增并且正负交替的最大序列,问组成的最大序列的最大长度是多少?
思路:
比较简单,突破口是所有数字的绝对值都不同,那么我们直接模拟就行了,直接按绝对值sort一遍,然后第一个默认是找出序列的第一个,然后直接看看有多少正负交替的就行了,具体看代码。
#include<stdio.h>
#include<algorithm>
#define N 500000 + 10
using namespace std;
int num
;
int abss(int x)
{
return x > 0 ? x : -x;
}
bool camp(int a ,int b)
{
return abss(a) < abss(b);
}
int main ()
{
int n ,i ,Ans ,nowzf ,t;
scanf("%d" ,&t);
while(t--)
{
scanf("%d" ,&n);
for(i = 1 ;i <= n ;i ++)
scanf("%d" ,&num[i]);
sort(num + 1 ,num + n + 1 ,camp);
num[1] < 0 ? nowzf = 1 : nowzf = -1;
for(Ans = 0 ,i = 1 ;i <= n ;i ++)
{
if(num[i] >= 0 && nowzf < 0 || num[i] < 0 && nowzf > 0)
{
Ans ++;
nowzf *= -1;
}
}
printf("%d\n" ,Ans);
}
return 0;
}
相关文章推荐
- uva 11039 - Building designing(贪心)
- UVA 11039 - Building designing 水题哇~
- UVA 11039 - Building designing
- ecjtu-summer training #5 B - Building designing UVA - 11039
- UVA - 11039 Building designing 排序
- Uva - 11039 - Building designing
- UVA 11039 - Building designing
- UVA 11039(模拟,贪心)
- UVA 11039 Building designing
- uva 11039 贪心法
- UVA 11039 Building Designing
- UVa 11039 Building designing (模拟)
- uva_11039 - Building designing( 基數排序 )
- uva11039 设计建筑物
- UVA 11039 Building designing——水题
- UVA 11039 Building desigining(水题)
- UVA 11039 - Building designing
- (UVA - 11039)Building designing (贪心)
- UVA - 11039 Building designing(字符串)
- uva-11039水到渣的题