__int128 类型知识点
在提高+、省选及NOI赛题中,经常会遇到超级大的输入输出,此时若使用 C/C++ 中的宏指令 #define int __int128 将代码中所有的 int 类型替换为 __int128 类型,需配合 signed main(){ } 使用,否则将会导致使用 int main(){ } 时的返回值类型错误。
但是,__int128 类型无标准 I/O 支持,无法直接使用 cin / cout / scanf / printf,需手动实现读写函数。
Code
int read() {
int x=0,f=1;
char c=getchar();
while(c<'0' || c>'9') {
if(c=='-') f=-1;
c=getchar();
}
while(c>='0' && c<='9') {
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
void print(int x) {
if(x<0) putchar('-'), x=-x;
if(x>9) print(x/10);
putchar(x%10+'0');
}