栈
99度灰
这个作者很懒,什么都没留下…
展开
-
UVA 127 - “Accordian“ Patience
题目大意:有一副扑克牌(52张,没有大小王),A~K,花色由C, D, H, S代替。所有牌平铺在桌上,从最左边开始排,排的方法为:1.如果这堆牌(一张或是几张都为一堆)与其左边第一堆牌的最上方的牌的大小(A~K大小)一致,或花色一致,则将它放置左边一堆牌的最上方;2.如果这堆牌(一张或是几张都为一堆)与其左边第三堆牌的最上方的牌的大小(A~K大小)一致,或花色一致,则将它放置左边第三堆牌的最上方原创 2017-09-06 15:09:58 · 258 阅读 · 0 评论 -
UVA 101 - The Blocks Problem
题目大意:输入n,代表有0到n-1个块。每个块的初始位置不变。输入指令,直到停止quit后输出移动结果。除quit指令外,针对块的移动有四种指令:1.move a onto b,将a块,b块上方的所有块扔回初始位置(不包括a块,b块)。然后将a移动到b上方;2.move a over b ,将a块上方所有块扔回初始位置,然后将a移动到b上方;3.pile a onto b,将b块上方所有块扔原创 2017-09-03 17:49:08 · 288 阅读 · 0 评论 -
UVA 673 - Parentheses Balance
题目大意:判断输入的字符串是否为真。真的定义如下,1.空格;2.AB(AB都为真);3.[A],(A) 解题思路:从字符串内部判断,用栈模拟,空格就不用考虑了,其他字符扔入栈内,循环,如果栈顶与字符串下一项正好相对(栈顶:(,字符串下一项:)。栈顶:[,字符串下一项:]。)出栈,继续判断栈顶与字符串再下一项是否正好相对。循环外继续将字符串扔入栈内。 ps:输出如果不是真的,要将栈清空。原创 2017-09-03 17:47:36 · 224 阅读 · 0 评论 -
UVA 442 - Matrix Chain Multiplication
题目大意:输入n个x*y的矩阵,如果A矩阵为m*n,B矩阵为n*p。两个矩阵相乘的结果为m*p矩阵,需要乘m*n*p次。如果不满足则输出error。输出乘法总次数。C矩阵为p*q的话,则(AB)C的乘法次数为m*n*p+m*p*q。输入需要算乘法次数的式子。 解题思路:利用栈的基础进行求解。定义一个有两个int变量的结构体,再定义以该结构体为类型的栈,入栈的为结构体,出栈时出两个元素,对比判原创 2017-09-03 17:46:15 · 212 阅读 · 0 评论