第一章-问题求解策略-Uva11039-Building designing

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=500000+50;
int arr[maxn];
bool cp(const int &a,const int &b)
{
    return abs(a)<abs(b);
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        bool ng=true;
        int n;
        int item;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            scanf("%d",&arr[i]);
        }
        sort(arr,arr+n,cp);
        int ans=1;
        if(arr[0]<0)
        {
            ng=false;
        }
        for(int i=0;i<n;i++)
        {
            if(ng==false&&arr[i]>0)
            {
                ng=true;
                ans++;
            }
            else if(ng==true&&arr[i]<0)
            {
                ng=false;
                ans++;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}
发布了10 篇原创文章 · 获赞 2 · 访问量 2426

猜你喜欢

转载自blog.csdn.net/STL_CC/article/details/104742582