问题 2051. -- 行星碰撞

2051: 行星碰撞

时间限制: 1 Sec  内存限制: 128 MB
提交: 34  解决: 9
[提交][状态][讨论版]

题目描述

给定一个整数数组 a,表示在同一行的行星。对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。

找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移动方向相同的行星,永远不会发生碰撞。

输入

第一行:一个正整数n(n<=10000),表示行星数量
第二行:有n个整数,代表每一颗行星的大小。每一颗行星的大小都是非零整数,范围是 [-1000, 1000] 。

输出

输出碰撞后剩下的所有行星,若没有剩下任何行星则输出“none”。

样例输入

5
-2 -3 2 1 -2

样例输出

-2 -3

提示

示例1输入: 
3
5 10 -5
输出: 5 10
解释: 10 和 -5 碰撞后只剩下 10。 5 和 10 永远不会发生碰撞。

示例2输入:
2
8 -8
输出:none
解释: 8 和 -8 碰撞后,两者都发生爆炸,没有剩下任何行星。

示例3输入:
3
10 2 -5
输出: 10
解释: 2 和 -5 发生碰撞后剩下 -5。10 和 -5 发生碰撞后剩下 10。

示例4输入:
4
-2 -1 1 2
输出: -2 -1 1 2
解释: -2 和 -1 向左移动,而 1 和 2 向右移动。由于移动方向相同的行星不会发生碰撞,所以最终没有行星发生碰撞。

来源

[提交][状态]