题解:P1001 A+B Problem

· · 题解

省流:如果你对下面的内容不感兴趣,你可以这样写:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    cout<<a+b;
    return 0;
}

感谢各位来看本蒟蒻的题解!

抱怨:这道题实在是太难了,甚至比我之前做过的 B2002 还要难!我花了整整 114514 秒才写出来!

题解:P1001 A+B Problem

要做题肯定要先读懂题。

题目大意

给定 ab,输出 a+b 的值。

Part 1

给大家看一篇代码:

#InClUdE<btis/stcd++h.>
usign namepsace tsd;
itn mian(){
    itn a,b;
    cni>a>>>b;
    cotu<<ab+;
    retunr 0;
}

将这篇代码交上去,CE 了,这是为什么?

从第一行开始:#InClUdE<btis/stcd++h.>,我们发现这是万能头文件的错误打法,应改为#include<bits/stdc++.h>

同样的,第二行的三个单词都拼错了,应改为using namespace std;,第三行的二个单词也是,下面几行也有很多错误。

这里,我总结了一下这份代码的错点:

希望大家不要犯以上这些错误!

Part 2

当然,OI 的学习是永无止境的。上一部分我们讲到了一些常见的错误,这一部分我们就讲如何用 define 让代码更加通俗易懂。

众所周知,C++98 是支持中文字符的,以此,我们可以在 C++ 中实现中文编程。

接下来就用了这些奇葩操作:

#include<bits/stdc++.h>
#define 用 using
#define 名字 namespace
#define 标程 std
#define 结束 ;
#define 整 int
#define 主 main 
#define 小括号 () 
#define 上花括号 { 
#define 加数 a 
#define 以及 , 
#define 被加数 b 
#define 输入 cin 
#define 向右 >> 
#define 输出 cout 
#define 向左 << 
#define 和 + 
#define 回复 return 
#define 零 0 
#define 下花括号 } 
用 名字 标程 结束 
整 主 小括号 上花括号 
    整 加数 以及 被加数 结束 
    输入 向右 加数 向右 被加数 结束 
    输出 向左 加数 和 被加数 结束
    回复 零 结束
下花括号

注意此代码需要 C++98。

还要注意不要把 define 写反,define 是用前面一个替代后面一个。

好了,那么以上就是我的题解。谢谢各位!