UVA 11039 Building designing

来源:互联网 发布:js插件应该怎样使用 编辑:程序博客网 时间:2024/05/16 10:25

之前一直考虑把正数放一个数组里,负数放一个数组里,后来发现都放在一起反而很简便,只要定义好排序方法就好了。赶着去上课,就不多说了。

#include<iostream>#include<math.h>#include<algorithm>//sort的头文件#define MAXN 500010int n,a[MAXN];using namespace std;int cmp(int x,int y){    return abs(x)>abs(y);//此处<和>都可以,即:楼层从上往下找和从下往上找都一样}void solve(){    cin>>n;    for(int i=0; i<n; i++)        cin>>a[i];    sort(a,a+n,cmp);    int count=0,flag=0;    if(a[0]>0)        flag=1;    else        flag=-1;    count++;    for(int i=1; i<n; i++)    {        if(flag==1)        {            if(a[i]<0)            {                flag=-1;                count++;            }        }        else if(flag==-1)        {            if(a[i]>0)            {                flag=1;                count++;            }        }    }    cout<<count<<endl;}int main(){    int p;    cin>>p;    while(p--)    {        solve();    }    return 0;}


0 0
原创粉丝点击