自家学校OJ网站上的题目,很玄学,不知道哪里出的问题。

这个OJ链接的题目没有问题的。

https://www.luogu.org/problemnew/show/P1981

#include <iostream>
#include <string>
#include <math.h>
#include <stack>

using namespace std;

bool compare(char now, char stack) {
    switch (now) {
    case '+':
        if (stack == '#')
            return false;
        return true;
    case '*':
        if (stack == '+' || stack == '-' || stack == '#')
            return false;
        return true;
        break;
    }
}

int calc(int a, char c, int b) {
    switch (c)
    {
    case '+':
         + b % ) % ;
    case '*':
         * b % ) % ;
    default:
        break;
    }
}
int main() {
    ;
    string s;
    stack<int>num;
    stack<char>symbol;
    getline(cin, s);
    //s.append(, '#');
    symbol.push('#');
    while (i < s.length()) {
        ') {
            string Str_temp;
            Int_temp = ;
            ') {
                Int_temp = Int_temp *  + (s[i] - );
                i++;
            }
            num.push(Int_temp);
            Str_temp.clear();
        }
        else {
            if (compare(s[i], symbol.top())) {
                int t1 = num.top(); num.pop();
                int t2 = num.top(); num.pop();
                num.push(calc(t1, symbol.top(), t2));
                symbol.pop();
            }
            //if (s[i] != '#')
                symbol.push(s[i]);
            i++;
        }
    }
    while (symbol.top() != '#') {
        int t1 = num.top(); num.pop();
        int t2 = num.top(); num.pop();
        num.push(calc(t1, symbol.top(), t2));
        symbol.pop();
    }
    cout << num.top() %  << endl;
    ;
}

题目有很简单的做法,我想复杂了,但思路也是没有错的。交了不过,因为从校园网上Dlowand了测试数据对自己特别自信 ,发现测试数据特别 特别长,用控制台一次输入上限是4095个字符,再往后键盘就按不动了,后面的数据理所当然就没输入进去,我也重新用JAVA写了一遍,也证明了我的算法是对的。

然后,我就果断 学校的垃圾OJ网站 坑骗无知儿童 ,上网找了一下:https://blog.csdn.net/u014542643/article/details/78435113 ,交了发现AC了。

我对比了一下,可能让我的交不过的差别就是,我在字符串最后append 一个 '#' ,仔细想了下,确实加了是多余的,我把'#'去掉,交了也还真就过了,我不知道是什么原理,我想可能和缓冲区有关,也许是玄学吧。

坑之OJ-玄学、不可抗力的更多相关文章

  1. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  2. 【学习笔记】OI玄学道—代码坑点

    [学习笔记]\(OI\) 玄学道-代码坑点 [目录] [逻辑运算符的短路运算] [\(cmath\)里的贝塞尔函数] 一:[逻辑运算符的短路运算] [运算规则] && 和 || 属于逻 ...

  3. [Swust OJ 234]--IrreducibleNumber(题意太坑)

    题目链接:http://acm.swust.edu.cn/problem/0234/ Time limit(ms): 1000 Memory limit(kb): 65535   Descriptio ...

  4. oj教程--坑

    1.OJ判断是只看输出结果的. 2.纯字符串用puts()输出. 3.有很多数学题是有规律的,直接推公式或用递归.循环. 4.擅用三目运算符 5.将乘法转换成加法减少时间 6.空间换时间 7.数组越界

  5. NOIp 2006 作业调度方案 Label:坑 模拟(tyvj你不给我ac,我就把名字献给附中oj)

    福建师大附中链接:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1211 [问题描述] 我们现在要利用m台机器加工n个工件,每个工件都有m道工序 ...

  6. 做OJ项目时遇到的坑

    1.js代码写在Dom加载前,导致highcharts在ie8能够显示,而ie高版本和其他浏览器不能显示 我的理解:由于IE8和其他浏览器的js解析机制不同,ie8是在等dom全部加载完才开始执行js ...

  7. 【填坑向】bzoj2038小Z的袜子 莫队

    学莫队必做题,,,但是懒得写.今天来填个坑 莫队水题 莫队实际上就是按一个玄学顺序来离线计算询问,保证复杂度只会多一个n1/2,感觉是玄学(离线算法都很玄学) 易错点:要开long long(卡我半天 ...

  8. OJ生成器(一)制作Online Judge前的准备和策划

    我这校区新的微机老师斗志昂扬,准备让我们这学校萎靡的信息技术竞赛重振雄风.然后有一次我半开玩笑地说建一个自己的OJ吧,老师也就鼓励我去做了. 开什么玩笑……!我可是马上要参加NOIP的人! 于是老师说 ...

  9. CryptoJS遇到的小坑

    CryptoJs是前端加密用的,具体介绍:http://code.google.com/p/crypto-js/ 对应国内免费CDN 服务:http://www.bootcdn.cn/crypto-j ...

随机推荐

  1. 七、spark核心数据集RDD

    简介 spark RDD操作具体参考官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#overview RDD全称叫做 ...

  2. spring AOP为什么配置了没有效果?

     spring Aop的配置一定要配置在springmvc配置文件中         springMVC.xml 1 <!-- AOP 注解方式 :定义Aspect --> <!-- ...

  3. groovy对枚举的支持

    /** * Created by Jxy on 2019/1/3 15:42 * groovy对枚举的支持 */ enum CoffeeSize{ SHORT,SMALL,BIG,MUG } def ...

  4. 【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示

    转自:https://blog.csdn.net/eson_15/article/details/51405911 网上商城首页都有热门商品,那么这些商品的点击率是很高的,当用户点击某个热门商品后需要 ...

  5. js中的同步与异步的问题

    前言 近来,总是忙于拿js写一些案例,因为是小白,并没有什么丰富的经验,对各个知识点把握也不是很全面,写起来真的是...一言难尽,太痛苦了= =.尤其是在写一些轮播的时候,里面需要用到定时器,而一旦用 ...

  6. springcloud 实战 feign使用中遇到的相关问题

    springcloud 实战 feign使用中遇到的相关问题 1.使用feign客户端调用其他微服务时,session没有传递成功,sessionId不一样. /** * @author xbchen ...

  7. 线性规划费用流解法(Bzoj1061: [Noi2008]志愿者招募)

    题面 传送门 Sol 线性规划费用流解法用与求解未知数为非负数的问题 这道题可以列出一堆形如 \(x[i]+x[j]+x[k]+...>=a[p]\) 的不等式 我们强行给每个式子减去一个东西, ...

  8. jQuery处理JSONP

    http://www.g7blogs.com/?p=821 作为一枚前端,提起jsonp大家都不会陌生.特别是在我们组内的业务中,和服务器端交互的数据几乎都是采用这种形式.但假如要让你用原生的JS写出 ...

  9. 在ES6中如何优雅的使用Arguments和Parameters

      原文地址:how-to-use-arguments-and-parameters-in-ecmascript-6 ES6是最新版本的ECMAScript标准,而且显著的改善了JS里的参数处理.我们 ...

  10. Oracle 通过出生日期计算年龄

    方法一: SELECT TRUNC(months_between(sysdate, birth)/12) AS age from mytable 方法二: select TRUNC((to_char( ...