考场上能否使用signed main() ?

学术版

Bohan_Jiang @ 2024-11-28 18:52:50

#include <bits/stdc++.h>
using namespace std;

#define int long long

//code...

signed main() 
{
    //code...
    return 0;
}

by Hollow_knight_ @ 2024-11-28 18:53:52

合法的


by AzusidNya @ 2024-11-28 18:54:52

1


by Karl_Aurora @ 2024-11-28 18:59:54

@Bohan_Jiang 可以,但不建议

建议还是老老实实分析哪些变量需要开long long


by Vector_Li @ 2024-11-28 19:07:29

@Bohan_Jiang 可以


by Wzhone @ 2024-11-28 20:03:54

可以,但不建议

#define int ll 是官方的不建议行为

而且空间有可能会爆,还容易被卡常


by litjohn @ 2024-11-28 20:24:33

@Wzhone 不是,把int换成ll这样一个自定义的宏有什么问题吗?又不是换成long long


by D_C_Z @ 2024-11-28 20:26:06

@Wzhone 实际上这样可以大大减少你的调试时间,除非要卡常或者卡空间的题这样是很优的


by Wzhone @ 2024-11-28 20:30:18

@litjohn

坏了, 习惯了(

理解意思就行


by Wzhone @ 2024-11-28 20:33:09

@D_C_Z

事实上我一般先按预估的数据大小先写一遍,发现要用longlong的时候会先备份一份然后全盘替换看一下

毕竟写之前也不知道卡不卡常嘛,要是真爆了挑出哪些要换回int的时间肯定是比-fsanitize=undefined发现爆int然后全盘替换的时间要长的多的


by Wzhone @ 2024-11-28 20:33:55

@D_C_Z

顺带推销一下 -fsanitize 参数,可以大大减少因为莫名其妙的UB而导致的调试支出


| 下一页