首页 > 代码库 > UVA-11039-Building designing

UVA-11039-Building designing

题目:UVA-11039-Building designing 

根据绝对值排序。

 1 #include <iostream> 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<string.h> 5 #include<math.h> 6 #include<algorithm> 7  8 using namespace std; 9 10 int a[500010];11 12 bool cmp(int x,int y)13 {14     return abs(x)<abs(y);15 }16 17 int main()18 {19     int p,n,i,tmp,ans;20     scanf("%d",&p);21     while(p--)22     {23         scanf("%d",&n);24         for(i=0; i<n; i++) scanf("%d",&a[i]);25         sort(a,a+n,cmp);26         i=0;27         ans=1;28         tmp=(a[0]>0)? 1:-1;29         for(i=1; i<n; i++)30         {31             if(a[i]*tmp<0)32             {33                 ans+=1;34                 tmp=(-tmp);35             }36         }37         printf("%d\n",ans);38     }39     return 0;40 }

 

UVA-11039-Building designing