HDU 5504 GT and sequence 模拟
题目链接: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 模拟的更多相关文章
- hdu 5504 GT and sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504 GT and sequence Time Limit: 2000/1000 MS (Java/O ...
- 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 ...
- HDU 5783 Divide the Sequence(数列划分)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- 判断相同区间(lazy) 多校8 HDU 5828 Rikka with Sequence
// 判断相同区间(lazy) 多校8 HDU 5828 Rikka with Sequence // 题意:三种操作,1增加值,2开根,3求和 // 思路:这题与HDU 4027 和HDU 5634 ...
- HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)
HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...
- 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区间上的所以数变成 ...
- Hdu 5496 Beauty of Sequence (组合数)
题目链接: Hdu 5496 Beauty of Sequence 题目描述: 一个整数序列,除去连续的相同数字(保留一个)后,序列的和成为完美序列和.问:一个整数序列的所有子序列的完美序列和? 解题 ...
- Hdu 5806 NanoApe Loves Sequence Ⅱ(双指针) (C++,Java)
Hdu 5806 NanoApe Loves Sequence Ⅱ(双指针) Hdu 5806 题意:给出一个数组,求区间第k大的数大于等于m的区间个数 #include<queue> # ...
- HDU 5063 Operation the Sequence(暴力)
HDU 5063 Operation the Sequence 题目链接 把操作存下来.因为仅仅有50个操作,所以每次把操作逆回去执行一遍,就能求出在原来的数列中的位置.输出就可以 代码: #incl ...
随机推荐
- 从零起步学python计划及感想
从纯传统bi转型过来的技术顾问,比较有优势的是对业务的熟悉,对数据有敏感度,熟悉数据模型.但是长年累月基本都是用sql处理问题.目前还没有经历过sql解决不了的问题,一个sql解决不了就用临时表,几个 ...
- 两个HTML地址栏传中文参数乱码
这个不叫乱码,我非专业.这个是url编码,js本身就是读取url编码的.对于js获取url的中文你可以尝试用escape() encodeURI() encodeURIComponent() deco ...
- MicroService.Core简易微服务框架《一、简介》
MicroService.Core MicroService.Core 的初衷是为了方便的创建一个微服务, 可作为 Windows Service 或者控制台模式启动. 它底层使用了 OWin 自托管 ...
- Power Strings(KMP)
Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 45008 Accepted: 18794 D ...
- JAVA 通过 Socket 实现 TCP 编程
简介 TCP简介 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机 ...
- undefined 与void 0
参考:https://segmentfault.com/a/1190000000474941 Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值.void 操作符用法 ...
- 【G彩娱乐网】作为一名程序员,我应该如何选购一台电脑?
G彩娱乐网说到程序员专用电脑,那肯定是苹果电脑.优点有很多,比如白平衡特别准.酷炫的黑科技.特别方便的软件等显而易见的优势:也有能够增加提案通过率.专注工作提高工作效率这样的玄学buff. 但是!并不 ...
- HTML DOM应用案例2
<html> <head> <title>day03</title> <script type="text/javascript&quo ...
- C# 面向对象基础&封装&继承&多态&加深一下冒泡排序写法
(一)面向对象是什么? 面向对象是一种编程思想 (二)为什么要用面向对象? 1.结构清晰 2.易于维护 3.方便扩展 (三)new一个对象是什么过程? 实例化构造函数创建对象的过程就是将类实例化的过程 ...
- JS中encodeURI,escape,encodeURIComponent区别
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...