交P1001语言选C++和Python都能过的代码
zhangshuhang2011 · · 个人记录
交P1001语言选C++和Python都能过的代码
C++高亮:
#include<bits/stdc++.h>
#define X int X
X=1;
#define X struct T{int xxx;};
X//1
#define X T input(){ int x; std::cin >> x; return (T){x}; }
X//1
#define X using namespace std; int main(){ int
X//1
#define split() xxx
a,b=input().split();
#define X cin >> a;
X//1
#define print(x) cout << x;
print(int(a)+int(b))
#define X return 0; }
X//1
Python高亮:
#include<bits/stdc++.h>
#define X int X
X=1;
#define X struct T{int xxx;};
X//1
#define X T input(){ int x; std::cin >> x; return (T){x}; }
X//1
#define X using namespace std; int main(){ int
X//1
#define split() xxx
a,b=input().split();
#define X cin >> a;
X//1
#define print(x) cout << x;
print(int(a)+int(b))
#define X return 0; }
X//1
云剪贴板:https://www.luogu.com.cn/paste/engl8x12
制作思路:
注意到Python中#表示注释,而C++中#是强大的#define宏定义的开头,而C++中的注释符//在Python中表示整除,所以我可以利用这一点来制作这份代码。 看这一个代码片段:
#define X int X
X=1;
#define X <CODE>;
X//1
在Python中两个#define会被忽略,所以这些代码表示把X设为1并计算x//1,而在C++中它则相当于<code>中的任何东西。
并且我可以重复利用这个X,在任何地方插入C++代码,然后利用这些C++代码把Python代码变成合法的C++代码。