题目链接: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. 学习笔记TF052:卷积网络,神经网络发展,AlexNet的TensorFlow实现

    卷积神经网络(convolutional neural network,CNN),权值共享(weight sharing)网络结构降低模型复杂度,减少权值数量,是语音分析.图像识别热点.无须人工特征提 ...

  2. Quart.Net分布式任务管理平台

           无关主题:一段时间没有更新文章了,与自己心里的坚持还是背驰,虽然这期间在公司做了统计分析,由于资源分配问题,自己或多或少的原因,确实拖得有点久了,自己这段时间也有点松懈,借口就不说那么多 ...

  3. 如何让Vim成为我们的神器

    Vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版,而 gVim 则是其 Windows 版.它的最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门 ...

  4. Picture

    Picture Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  5. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  6. 如何实现websocket服务器-理论篇

    WebSocket 服务器简单来说就是一个遵循特殊协议监听服务器任意端口的tcp应用.搭建一个定制服务器的任务通常会让让人们感到害怕.然而基于实现一个简单的Websocket服务器没有那么麻烦. 一个 ...

  7. Flex布局(引用阮一峰大神)

    Flex 布局教程:语法篇 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html Flex 布局教程:实例篇 http://www.ruan ...

  8. Java 核心内容相关面试题【4】

    spingmvc 和 structs的区别 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置. spring3 mvc可以认为已经100%零配置了(除了配置spring mv ...

  9. C#算法面试题

    1.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复. static void GetArray() { ]; ]; ; i < ; i++) { intArr[i] ...

  10. NLP论文泛读之《教材在线评论的情感倾向性分析》

    NLP论文泛读之<教材在线评论的情感倾向性分析> 本文借助细粒度情感分类技术, 对从网络上抓取大量计算机专业本科教材的评价文本进行情感极性 分析, 从而辅助商家和出版社改进教材的质量.制定 ...