Banner Home Page DIY Contests Problems Ranklist Status Statistics

又是汉诺塔

Time Limit : 750/250ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 12   Accepted Submission(s) : 4

Font: Times New Roman | Verdana | Georgia

Font Size:

Problem Description

这次汉诺塔的玩法和传统的不一样。现在只给你一根柱子以及两
种颜色的圆盘若干,要你算出用这些圆盘最多能堆多少层。圆盘的堆积
满足一下两个规则:
1.相邻两个圆盘的颜色不一样。
2.上面的圆盘比下面的小。
下图就是一个满足条件的堆法:

Input

有多组测试数据。对于每组测试数组,第一行是一个正整数n(1<=n<100),表示有n个圆盘。
接下来是n个整数,负数代表红色圆盘,正数代表黄色圆盘,每个整数的绝对值
代表圆盘的大小,保证每个圆盘的大小均不相同且圆盘的大小不为零。
所有输入数据均在int型范围内

Output

对于每组输入,输出一个正整数r,表示用这些圆盘最高可以堆r层

Sample Input

2
-1 100000000
1
1

Sample Output

2
1

Author

MummyDing

Statistic | Submit | Back