CF1427A Avoiding Zero 题解

技术CF1427A Avoiding Zero 题解 CF1427A Avoiding Zero 题解CF1427A Avoiding Zero 题解Content
请将一个长度为 \(n\) 的数列

CF1427A避零问题解读

CF1427A避零问题解读

Content

请重新排序长度为\(n\)的序列\(A\),以便该序列的所有前缀相加\ neq 0 \),或者证明不存在这样的方案。

数据范围:\(t\) 组数据,\(1\leqslant t\leqslant 1000\),\(1\leqslant n\leqslant 50\),\(-50\leqslant a_i\leqslant A_i\leqslant 50\)。

Solution

不难发现,当且仅当所有数之和为\(0\)时,并没有满足题目要求的方案。

否则,把所有正整数放在一起,把所有负整数放在一起,然后分类讨论:

如果所有正整数之和大于所有负整数之和的绝对值,那么就要考虑先放所有正整数,后放所有负整数,这样才能保证前缀和不是\(0\)。

否则,我们先放所有的负整数,然后再放所有的正整数。

如果有\(0\),放在所有非零数字之后就足够了。

这个想法有点复杂,但实现起来并不难,不是吗?

Code

int n,a[57],sum,油底壳,sumn,po[57],ne[57];

int main(){ 0

MT {

n=Rint,sum=油底壳=sumn=0;

F(int,I,0,n)po[I]=ne[I]=0;

F(int,I,1,n) sum=(a[i]=Rint),油底壳=a[i] * (a[i] 0),sumn=(-a[I])*(a[I]0);

if(!总和){否;继续;}

是;

F(int,I,1,n)if(a[I]0)po[po[0]]=a[I];否则if(a[I]0)ne[ne[0]]=a[I];

if(贮槽sumn) {F(int,I,1,po[0])print _ space(po[I]);F(int,I,1,ne[0])print _ space(ne[I]);F(int,I,1,n-po[0]-ne[0])printf(' 0 ');}

else {F(int,I,1,ne[0])print _ space(ne[I]);F(int,I,1,po[0])print _ space(po[I]);F(int,I,1,n-po[0]-ne[0])printf(' 0 ');}

puts(' ');

}

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147914.html

(0)

相关推荐

  • MyCat分库分表的示例分析

    技术MyCat分库分表的示例分析这篇文章主要为大家展示了“MyCat分库分表的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MyCat分库分表的示例分析”这篇文章吧。

    攻略 2021年11月2日
  • 内存

    技术内存 内存一、物理内存和虚拟内存
    1、虚拟内存每个程序都有4G虚拟内存,相当于空头支票
    只有真正要用的时候,才会在物理内存中给你分配一块物理内存
    4kb页式管理,一页是4kb大小(物理页)2、虚拟内

    礼包 2021年12月24日
  • 常用语法及示例

    技术常用语法及示例 常用语法及示例接口测试常用库:
    RequestsLibraryCollectionsJSONLibraryHttpLibrary.HTTP
    Set Global Variable
    使

    礼包 2021年11月30日
  • 怎样用原生的urllib2+httplib请求Https

    技术怎样用原生的urllib2+httplib请求Https本篇文章给大家分享的是有关怎样用原生的urllib2+httplib请求Https,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,

    攻略 2021年12月4日
  • MSSQL存储过程命令执行

    技术MSSQL存储过程命令执行 MSSQL存储过程命令执行MSSQL存储过程命令执行转载自简书基本概念
    MSSQL
    MSSQL指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服

    礼包 2021年12月1日
  • 大圈是什么意思,太阳周围有个大圈是什么意思

    技术大圈是什么意思,太阳周围有个大圈是什么意思日晕是一种大气光学现象,是日光通过卷层云时,受到冰晶的折射或反射而形成的大圈是什么意思。当光线射入卷层云中的冰晶后,经过两次折射,分散成不同方向的各色光。有卷层云时,天空中会

    生活 2021年10月21日