之前在洛谷上偶然发现了一个人用中文写 a+b,于是一时兴起,整了一下这道题:
#include<bits/stdc++.h>
#define 使用 using
#define 名字空间 namespace
#define 标准 std
#define ; ;
#define 类型定义 typedef
#define 超长整型 long long
#define 长长 超长整型
#define 固定的 const
#define 整型 int
#define 数组范围 N
#define 等于 =
#define 十的六次方加五 1e6+5
#define 九亿九千八百二十四万四千三百五十三 998244353
#define , ,
#define 模数 mod
#define 编号 id
#define 那 n
#define 么 m
#define 头 head
#define 左圆括号 (
#define 右圆括号 )
#define 左方括号 [
#define 右方括号 ]
#define 左花括号 {
#define 右花括号 }
#define 另一端点 ver
#define 下一个 Next
#define 全部 tot
#define 零 0
#define 跑 p
#define 大 d
#define 方 f
#define 求和 sum
#define 空 void
#define 合并 merge
#define 叉 x
#define 歪 y
#define 增加一 ++
#define 主要的 main
#define 输入 cin
#define 按位与 &
#define 对于 for
#define 艾 i
#define 一 1
#define 小于等于 <=
#define 加 +
#define 减 -
#define 取模 %
#define 输出 cout
#define 返回 return
#define 左移 <<
#define 右移 >>
使用 名字空间 标准 ;
固定的 整型 数组范围 等于 十的六次方加五 , 模数 等于 九亿九千八百二十四万四千三百五十三 ;
整型 编号 , 那 , 么 , 头 左方括号 数组范围 右方括号 , 另一端点 左方括号 数组范围 右方括号 , 下一个 左方括号 数组范围 右方括号 , 全部 等于 零 , 跑 左方括号 数组范围 右方括号 , 大 左方括号 数组范围 右方括号 ;
长长 方 左方括号 数组范围 右方括号 , 求和 左方括号 数组范围 右方括号 ;
空 合并 左圆括号 整型 叉 , 整型 歪 右圆括号 左花括号
另一端点 左方括号 增加一 全部 右方括号 等于 歪 , 下一个 左方括号 全部 右方括号 等于 头 左方括号 叉 右方括号 , 头 左方括号 叉 右方括号 等于 全部 , 大 左方括号 叉 右方括号 增加一 ;
右花括号
整型 主要的 左圆括号 右圆括号 左花括号
输入 右移 编号 右移 那 右移 么 ;
对于 左圆括号 整型 艾 等于 一 ; 艾 小于等于 么 ; 增加一 艾 右圆括号 左花括号
整型 叉 , 歪 ;
输入 右移 叉 右移 歪 ;
合并 左圆括号 叉 , 歪 右圆括号 ;
右花括号
对于 左圆括号 整型 叉 等于 一 ; 叉 小于等于 那 ; 增加一 叉 右圆括号 左花括号
方 左方括号 叉 右方括号 等于 大 左方括号 叉 右方括号 加 一 ;
对于 左圆括号 整型 艾 等于 头 左方括号 叉 右方括号 ; 艾 ; 艾 等于 下一个 左方括号 艾 右方括号 右圆括号 左花括号
整型 歪 等于 另一端点 左方括号 艾 右方括号 ;
方 左方括号 叉 右方括号 等于 左圆括号 方 左方括号 叉 右方括号 加 求和 左方括号 叉 减 一 右方括号 减 求和 左方括号 歪 减 一 右方括号 加 模数 右圆括号 取模 模数 ;
右花括号
求和 左方括号 叉 右方括号 等于 左圆括号 求和 左方括号 叉 减 一 右方括号 加 方 左方括号 叉 右方括号 右圆括号 取模 模数 ;
右花括号
输出 左移 求和 左方括号 那 右方括号 ;
返回 零 ;
右花括号
真的能过,神奇。