专栏文章

题解:P1001 A+B Problem

P1001题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipcnk13
此快照首次捕获于
2025/12/03 09:50
3 个月前
此快照最后确认于
2025/12/03 09:50
3 个月前
查看原文
省流:如果你对下面的内容不感兴趣,你可以这样写:
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	cout<<a+b;
	return 0;
}

感谢各位来看本蒟蒻的题解!
抱怨:这道题实在是太难了,甚至比我之前做过的 B2002 还要难!我花了整整 114514114514 秒才写出来!

题解:P1001 A+B Problem

要做题肯定要先读懂题。

题目大意

给定 aabb,输出 a+ba+b 的值。

Part 1

给大家看一篇代码:
CPP
#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;,第三行的二个单词也是,下面几行也有很多错误。
这里,我总结了一下这份代码的错点:
  • 前两行上面说过了。
  • cni>a>>>b;应改为cin>>a>>b;
  • cotu<<ab+;应改为cout<<a+b;
  • 所有的int都写成了,main写成了mianreturn还写成了retunr
希望大家不要犯以上这些错误!

Part 2

当然,OI 的学习是永无止境的。上一部分我们讲到了一些常见的错误,这一部分我们就讲如何用 define 让代码更加通俗易懂。
众所周知,C++98 是支持中文字符的,以此,我们可以在 C++ 中实现中文编程。
接下来就用了这些奇葩操作:
CPP
#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 是用前面一个替代后面一个。
好了,那么以上就是我的题解。谢谢各位!

评论

0 条评论,欢迎与作者交流。

正在加载评论...