[Haskell on HackerEarth] Modify Sequence
来源:互联网 发布:编程语言 使用范围 编辑:程序博客网 时间:2024/05/29 03:01
原题链接
输入:一个正整数数组[a_1, a_2…a_n]
操作:任取 0 < i < n,将a_i 和 a_i+1各减1
输出:能否通过有限个操作将数组化为0
思路:每次能减少的是相邻两个数,那么最左边那个元素就只有一种减少方法,将最左边的元素减至0后,左数第二个数就成为新的最左边的元素,
import Data.Functorimport Data.Listimport Data.Charimport qualified Data.ByteString.Char8 as Bmain :: IO()main = do _ <- getInts xs <- getInts putStrLn $ if f xs then "YES" else "NO"f :: [Int] -> Boolf [0] = Truef [x] = Falsef (x:y:xs) | x > y = False | otherwise = f ((y-x):xs)getInts :: IO[Int]getInts = unfoldr (B.readInt . B.dropWhile isSpace) <$> B.getLine
PS:
原题的测试集合可能有缺陷,我写了两个算法,对于输入
33 2 1
一个输出 YES,一个输出 NO,但两个算法都过了,我觉得这里应该是NO
0 0
- [Haskell on HackerEarth] Modify Sequence
- [Haskell on HackerEarth] Factorial!
- [Haskell on HackerEarth] Toggle String
- [Haskell on HackerEarth] Palindromic String
- [Haskell on HackerEarth] Magical Word
- [Haskell on HackerEarth] Find Product
- [Haskell on HackerEarth] Count Divisors
- [Haskell on HackerEarth] Min-Max
- [Haskell on HackerEarth] Binary Queries
- [Haskell on HackerEarth] Roy and Profile Picture
- [Haskell on HackerEarth] Monk and Digital World
- [Haskell on HackerEarth] Monk and Welcome Problem
- [Haskell on HackerEarth] Life, the Universe, and Everything
- Install Haskell on Ubuntu
- SPOJ NITK06 16121 MODIFY SEQUENCE
- Install Haskell on Ubuntu and CentOS
- Review on 2 well-known Haskell textbooks
- Haskell
- PAT 1004
- Codeforces Round #401(Div. 2)E. Hanoi Factory【贪心+栈】
- Mathtype与word字号对照
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- OSI七层协议模型和TCP/IP四层模型比较
- [Haskell on HackerEarth] Modify Sequence
- SD卡的使用
- 引用妙用
- JAVA 知识
- 【SAP HANA】SAP HANA开篇
- poj2387~Til the Cows Come Home(最短路dijkstra)
- 最大堆
- IOS 中的多线程网络(一)总览及pthread、NSThread
- JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用。