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

官方题解:

注意先特判0 的情况:如果读入的数据有0 ,那么去掉所有的0 且最后答案和0 取一个max。剩下的正数显然全部乘起来比较优。对于负数的话,如果个数是奇数个我们就去掉绝对值最小的那一个,然后全部乘起来即可。

这题坑很多,要讨论的情况很多。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;typedef long long LL;
const int maxn = 65;
int n;
LL a[maxn];bool cmp(int a,int b)
{return a > b;
}int main()
{int t;scanf("%d",&t);while(t--){int i,zero = 0,pos = 0,neg = 0;scanf("%d",&n);for(i = 1; i <= n; i++){scanf("%lld",&a[i]);if(a[i] == 0) zero++;if(a[i] > 0) pos++;if(a[i] < 0) neg++;}if(n == 1 || zero == n) {printf("%lld\n",a[1]);continue;}sort(a+1,a+1+n,cmp);LL ans = 1;if(pos == 0){}for(i = 1; i <= n; i++){if(a[i] > 0)ans *= a[i];if(a[i] < 0) break;}int num = n - i + 1;if(num % 2 == 1) //奇数个负数{if(num == 1 && pos == 0) ans = a[n];for(int j = n; j > i; j--)ans *= a[j];}else //偶数个负数{for(int j = i; j <= n; j++)ans *= a[j];}if(zero && ans < 0) ans = 0;printf("%lld\n",ans);}return 0;
}

hdu 5504(枚举+找规律)相关推荐

  1. hdu 1165 坑爹找规律题

    http://acm.hdu.edu.cn/showproblem.php?pid=1165 不看题解,使劲找规律,应该是可以找到的,就是费时间! Problem Description As is ...

  2. hdu 4279 Number (找规律)

    http://acm.hdu.edu.cn/showproblem.php?pid=4279 题意: 给出a,b两个数,1<=a<=b 如果a,b不互质,且a%b != 0则说明a是b的特 ...

  3. 【枚举找规律】记一次找规律题 埃匹希斯水晶

    UPC Contest2394 - 2020年春混合个人训练第八场问题 A: 埃匹希斯水晶 题目描述 ⼤家都知道,卡德加是⼀个神奇的法师. 有⼀天,他发现了⼀种可以作⽤在埃匹希斯⽔晶上的魔法:在左右两 ...

  4. hdu 3054 Fibonacci 找规律

    传送门 题意:第m个满足末尾连续k个0的数是斐波那契的第几项. 思路:先通过打表输出找到规律,然后根据规律解题.运行完打表代码之后会发现1,3,4,5,6,7,--都是到第9个数增量是有一个变化,而2 ...

  5. HDU 2897 (博弈 找规律) 邂逅明下

    根据博弈论的两条规则: 一个状态是必胜状态当且仅当有一个后继是必败状态 一个状态是必败状态当且仅当所有后继都是必胜状态 然后很容易发现从1开始,前p个状态是必败状态,后面q个状态是必胜状态,然后循环往 ...

  6. HDU 1847 (博弈 找规律) Good Luck in CET-4 Everybody!

    为了提高题解质量还是简单证明一下:3的倍数是必败状态. 如果n % 3 = 1,那么拿走1个石子:如果n % 3 = 2,那么拿走两个石子,都将转移到3的倍数的状态.所以每个必胜状态都有一个后继是必败 ...

  7. HDU 5703 Desert 水题 找规律

    HDU 5703 Desert 水题 找规律 已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现 ...

  8. 【HDU - 5963】朋友(博弈,思维,必胜态必败态,找规律)

    题干: B君在围观一群男生和一群女生玩游戏,具体来说游戏是这样的: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始, ...

  9. HDU - 1284 钱币兑换问题 (找规律/完全背包)

    Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Out ...

最新文章

  1. mybatis常见错误
  2. Normal2Height工具已经完成
  3. leetcode || 50、Pow(x, n)
  4. 代码编译方式 ant +ivy
  5. selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element
  6. 【java】窗口控件及字符串和异常的综合应用
  7. 【Linux】Another app is currently holding the yum lock; waiting for it to exit...
  8. 用户权限框架php,ThinkPHP5ACL用户权限模块用法详解
  9. C#的set 和 get 方法
  10. API Guides Contacts Provider
  11. 神经网络算法实例应用题,神经网络算法实例应用
  12. 一款免费好用的在线高效作图工具
  13. 识别到硬盘 计算机不显示盘符,Win10系统下移动硬盘可以识别但是不显示盘符的解决方法...
  14. 拆分PDF文件的一个办法
  15. nuc8i5beh安装黑苹果的安装教程,接近完美运行
  16. 【转载】Oracle 查看执行计划
  17. 40、卤代烷灭火系统模拟喷气试验
  18. 分层和分段用什么符号_分段符号该怎么用
  19. Window下安装Rabitmq的插件以及激活
  20. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Logger' 中的标识列插入显式值

热门文章

  1. 热门解读:大促的活动设计及效果评估的优化
  2. jenkins+testlink+python搭建自动化测试环境
  3. 印象笔记无法连服务器(internet explore的问题)
  4. nmon_analyser 在Aix平台的使用方法
  5. SQL Compare
  6. swift 函数.和匿名函数
  7. UVa 11388 - GCD LCM
  8. 【Android】【转】查看内存
  9. EIGRP Metric计算
  10. Building your training into your researcing