![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
Roosevelty
这个作者很懒,什么都没留下…
展开
-
nyoj 35 表达式求值
这个和从前我写过的不太一样。从前是把不同的运算符分不同的优先级,入栈的时候根据优先级来判断进出。下面的代码是直接入栈的时候根据栈顶运算符来判断当前运算符入栈与否。 当前运算符是+-=时,那么如果栈顶元素不为(,就一定要进行运算,把前边排的都算完了(算到左括号或空为止),才能入栈(=不用入栈,直接出结果) 如果是*/,那么只能算完栈顶元素是*/的情况,如果是+-之类的,就不能继续算了,因为乘除优原创 2015-02-10 15:23:42 · 578 阅读 · 0 评论 -
poj 3461 Oulipo
kmp模板: /* KMP 模板 较难理解,较难解释。。 练习: NYOJ-5 , POJ-3461 */ #include #include #define N 100 int KMP(char s[], char t[], int lens, int lent); void GetNext(char t[], int lent); int next[N]; int main原创 2015-02-10 19:03:15 · 379 阅读 · 0 评论 -
nyoj 128 前缀式计算
表达式逆着解析会非常容易,在这个过程中遇到数字就入栈,遇到运算符就从栈中弹出两个数字运算,并将运算结果入栈 最后一个运算符运算结束后,得到的就是结果了 如 + 1 * 2 4 运算过程 4 入栈 2 入栈 遇运算符*, 4 2 出栈,运算得8 入栈 1 入栈 遇运算符+, 8 1 出栈,运算得9,此时表达式解析完毕,9即为最后答案 但需特别注意,因为逆序解析,得到的数据数组原创 2015-02-11 11:28:50 · 437 阅读 · 0 评论 -
nyoj 257 蛋疼的c小加
就是把中缀写为后缀。1+2写成12+。 就是栈的应用。难度不大,但是很蛋疼。。。因为调试了好久才过。。 具体思路就是碰到数字直接输出,碰到新符号之后先和栈顶符号比较,优先级大就入栈,小的话就出栈,并且输出,再比较下一个。知道优先级比新符号小,新符号入栈。 涉及到很多细节问题,需要思维比较细= =。比如左右括号问题。左括号不管三七二十一直接入栈,然后其他符号也可以在左括号后压栈。碰到右括号,就一直原创 2014-12-15 18:45:07 · 474 阅读 · 0 评论 -
错误票据
问题描述 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。 输入格式 要求程序首先输原创 2015-02-26 10:20:23 · 387 阅读 · 0 评论