题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504

思路:模拟

代码:

 #include<stdio.h>//------杭电5504
#include<algorithm>
#include<math.h>
#include<iostream>
using namespace std;
int comp(const void*a, const void*b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int t;
scanf("%d", &t);
while (t)
{
__int64 *a;
int n;
int count1 = ;//记录负数
int count2 = ;//记录0
int count3 = ;//记录正数
int i;
__int64 result = ;
__int64 maxx = -0x3f3f3f3f;
scanf("%d", &n);
a = (__int64*)malloc(n*sizeof(__int64));
for (i = ; i < n; i++)
{
scanf("%I64d", (a + i));
if (a[i] < )
{
count1++;
maxx = max(maxx, a[i]);
}
else if (a[i]>)
count3++;
else
count2++;
}
qsort(a, n, sizeof(__int64), comp);//对数组排序
if (count1 == )//没有负数
{
if (count3 != )
{
if (count2 == )
i = ;
else
i = count2;
for (i; i < n; i++)
{
result *= a[i];
}
}
else if (count3 == )//无正数
{
result = ;
}
}
else if (count1 == )//只有一个负数
{
if (count3 != )
{
if (count2 == )
i = ;
else
i = count2 + count1;
for (i; i < n; i++)
{
result *= a[i];
}
}
else if (count3 == )//无正数
{
if (count2 == )
result *= a[];
else
result = ;
}
}
else if (count1 % == )//偶数个负数
{
for (i = ; i < count1; i++)
{
result *= a[i];
}
if (count3 != )
{
if (count2 == )
i = count1;
else
i = count2 + count1;
for (i; i < n; i++)
{
result *= a[i];
}
}
else if (count3 == )//无正数,值保留
{
result = result;
}
}
else if (count1 % != )//奇数个负数
{
for (i = ; i < count1-; i++)
{
result *= a[i];
}
if (count3 != )
{
if (count2 == )
i = count1;
else
i = count2 + count1;
for (i; i < n; i++)
{
result *= a[i];
}
}
else if (count3 == )//无正数,值保留
{
result = result;
}
}
printf("%I64d\n", result);
t--;
}
return ;
}

HDU 5504 GT and sequence 模拟的更多相关文章

  1. hdu 5504 GT and sequence

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504 GT and sequence Time Limit: 2000/1000 MS (Java/O ...

  2. HDU - 1711 A - Number Sequence(kmp

    HDU - 1711 A - Number Sequence   Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1 ...

  3. HDU 5783 Divide the Sequence(数列划分)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  4. 判断相同区间(lazy) 多校8 HDU 5828 Rikka with Sequence

    // 判断相同区间(lazy) 多校8 HDU 5828 Rikka with Sequence // 题意:三种操作,1增加值,2开根,3求和 // 思路:这题与HDU 4027 和HDU 5634 ...

  5. HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)

    HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...

  6. hdu 4893 Wow! Such Sequence!(线段树)

    题目链接:hdu 4983 Wow! Such Sequence! 题目大意:就是三种操作 1 k d, 改动k的为值添加d 2 l r, 查询l到r的区间和 3 l r. 间l到r区间上的所以数变成 ...

  7. Hdu 5496 Beauty of Sequence (组合数)

    题目链接: Hdu 5496 Beauty of Sequence 题目描述: 一个整数序列,除去连续的相同数字(保留一个)后,序列的和成为完美序列和.问:一个整数序列的所有子序列的完美序列和? 解题 ...

  8. Hdu 5806 NanoApe Loves Sequence Ⅱ(双指针) (C++,Java)

    Hdu 5806 NanoApe Loves Sequence Ⅱ(双指针) Hdu 5806 题意:给出一个数组,求区间第k大的数大于等于m的区间个数 #include<queue> # ...

  9. HDU 5063 Operation the Sequence(暴力)

    HDU 5063 Operation the Sequence 题目链接 把操作存下来.因为仅仅有50个操作,所以每次把操作逆回去执行一遍,就能求出在原来的数列中的位置.输出就可以 代码: #incl ...

随机推荐

  1. LeetCode 501. Find Mode in Binary Search Tree (找到二叉搜索树的众数)

    Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred ...

  2. js excel 列表导出

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. [译]ASP.NET Core 2.0 路由引擎之网址生成

    问题 如何在ASP.NET Core 2.0中由路由引擎来生成网址? 答案 新建一个空项目,修改Startup.cs文件,添加MVC服务和中间件: public void ConfigureServi ...

  4. Spring容器组建注解@Component和Resouces实现完全注解配置

    @Resource和@Component实现零XML配置 1.@Resource的注解: @Resource是J2EE的注解.意思是说在容器里面找相应的资源.也可以通过name属性指定它name的资源 ...

  5. Autofac学习之三种生命周期:InstancePerLifetimeScope、SingleInstance、InstancePerDependency

    InstancePerLifetimeScope:同一个Lifetime生成的对象是同一个实例 SingleInstance:单例模式,每次调用,都会使用同一个实例化的对象:每次都用同一个对象: In ...

  6. Buy the Ticket(卡特兰数+递推高精度)

    Buy the Ticket Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...

  7. ajax参数解析

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  8. JavaSE高级1

    内部类 内部类概念: 所谓内部类(Inner Class),顾名思义,就是将一个类定义在另一个类的内部.内部的类称之为内部类. 内部类的主要特点: 内部类可以很好的实现隐藏,可以使用protected ...

  9. The Lisp Curse /Lisp魔咒

    The Lisp Curse /Lisp魔咒 http://winestockwebdesign.com/Essays/Lisp_Curse.html 英文出处 http://www.soimort. ...

  10. 字符函数 php

    strrchr( '123456789.xls' , '.' ); //程序从后面开始查找 '.' 的位置,并返回从 '.' 开始到字符串结尾的所有字符