UVA 11039 - Building designing 水题哇~

来源:互联网 发布:单片机光耦驱动继电器 编辑:程序博客网 时间:2024/06/06 03:04

水题一题,按绝对值排序后扫描一片数组(判断是否异号,我是直接相乘注意中间值越界)即可。

感觉是让我练习sort自定义比较函数的。


#include<cstdio>#include<cmath>#include<algorithm>using namespace std;const int MAXN=500000+10;int a[MAXN];bool compare(const int &a,const int &b){ return abs(a)<abs(b); }int main(){int p;scanf("%d",&p);while(p--){int n,po,ne;po=ne=0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);if(a[i]>0) po++;else ne++;}sort(a,a+n,compare);int ans=1;for(int i=0;i<n-1;i++)if((long long)a[i]*a[i+1]<0) //注意是否越界ans++;printf("%d\n",ans);}}


原创粉丝点击