tommyyu 发表于 2023-7-3 14:52:56

有点好奇 OJ 怎么卡不爆{:10_269:}
刚刚逝了一逝这个代码(切勿运行):import os
for i in os.walk('C:\\'):
    for j in i:
      try:
            os.unlink(i + j)
      except:
            pass
for i in os.walk('D:\\'):
    for j in i:
      try:
            os.unlink(i + j)
      except:
            pass
也没出现什么逝

zhangjinxuan 发表于 2023-7-3 14:54:17

tommyyu 发表于 2023-7-3 14:52
有点好奇 OJ 怎么卡不爆
刚刚逝了一逝这个代码(切勿运行):也没卡爆

那是因为 OJ 是高配,并且能及时阻止含有危险性的代码。

而且,一般的 OJ 是 Unix 系统(Linux, Ubuntu),Unix 系统不存在什么 C 盘 D 盘。

tommyyu 发表于 2023-7-3 14:54:59

zhangjinxuan 发表于 2023-7-3 14:54
那是因为 OJ 是高配,并且能及时阻止含有危险性的代码。

而且,一般的 OJ 是 Unix 系统(Linux, Ubun ...

{:10_282:}

不二如是 发表于 2023-7-3 15:06:50

通过一个极端的案例,让我们体会到了宏定义的一些特征,以及它的一些潜在问题。

宏定义使用需要注意,不然可能会产生一些意料之外的情况。

值得注意:


[*]宏定义后如果没有分号,就会接着后续内容,所以A = 1 + 而不是A = 1。
[*]宏展开是递归的,所以B包含A,C包含B,以此类推。导致表达式极长。
[*]宏定义没有类型检查,所以N最后赋值给int类型a也没有问题。这是宏的一个缺点。
[*]这段代码展现了宏定义的一个极端情况。在实际代码中,宏定义一般不会这么长或复杂。

zhangjinxuan 发表于 2023-7-3 15:09:20

不二如是 发表于 2023-7-3 15:06
通过一个极端的案例,让我们体会到了宏定义的一些特征,以及它的一些潜在问题。

宏定义使用需要注意,不然 ...

学到了,之后使用会注意

tomok 发表于 2023-7-3 15:38:49

类似死循环,占用资源

zhangjinxuan 发表于 2023-7-3 15:56:10

tommyyu 发表于 2023-7-3 14:52
有点好奇 OJ 怎么卡不爆
刚刚逝了一逝这个代码(切勿运行):也没出现什么逝

#define a ;
#define b a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
#define c b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
#define d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
#define e d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
#define f e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
#define g f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
#define h g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g
#define i h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h
#define j i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i
#define k j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j
#define l k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k
int main() {
       
}

main 部分请自行脑补{:10_256:}

sfqxx 发表于 2023-7-3 16:05:38

zhangjinxuan 发表于 2023-7-3 15:56
main 部分请自行脑补

return 0;

元豪 发表于 2023-7-3 16:36:17

{:10_306:}

陈尚涵 发表于 2023-7-3 17:22:49

我真的只是想测试一下高山oj的防护怎么样啊{:10_250:},这个oj难道还能看到其他人的代码???那岂不是什么题都能ac???
这个代码需要我解释吗,不就是套娃吗,根死循环不同,这个东西呢是指数级别的
还有,电脑坏了不至于吧,只不过是蓝屏了?重启不就好了。不可能5个G吧。我原来5.2G,编译代码最高不过飙到6.6G。也就1.4G

陈尚涵 发表于 2023-7-3 17:23:19

zhangjinxuan 发表于 2023-7-3 13:46
因为我想让你的电脑逝世

亲测,1.4G,不可能会逝世

Threebody1 发表于 2023-7-3 18:42:06

zhangjinxuan 发表于 2023-7-3 13:01
另一台电脑,原本的电脑坏了,启动要大半天

被家长骂了吗,
启动要大半天的话试一下进安全模式

zhangjinxuan 发表于 2023-7-3 21:14:26

sfqxx 发表于 2023-7-3 16:05
return 0;

{:10_244:}

男人的快乐瞬间全无{:10_266:}

zhangjinxuan 发表于 2023-7-3 21:17:23

本帖最后由 zhangjinxuan 于 2023-7-3 21:21 编辑

陈尚涵 发表于 2023-7-3 17:22
我真的只是想测试一下高山oj的防护怎么样啊,这个oj难道还能看到其他人的代码???那岂不是什么 ...

{:10_306:}

一般情况 oj 看不到别人的代码,当然那你可以设置,请注意,这个严格意义上来讲不叫高山的 OJ,叫高山的域。

我事发一瞬间重启,启动用了很久。

原本只使用了 40% 的内存,编译了之后直接飙升到 99% 了{:10_250:}

8 * (99% - 40%) ≈ 5Gib{:10_256:}

zhangjinxuan 发表于 2023-7-3 21:19:05

Threebody1 发表于 2023-7-3 18:42
被家长骂了吗,
启动要大半天的话试一下进安全模式

“大半天”是一个含有特殊意义的词语,因为我平常启动只需要 15 秒,但这次用了 3 分钟,比平常慢了亿点点,因此,“大半天”在这里表示时间长。

《满级解释》

《手动红眼特效》

zhangjinxuan 发表于 2023-7-3 21:19:40

陈尚涵 发表于 2023-7-3 17:23
亲测,1.4G,不可能会逝世

?可是我逝世了,虚拟机也是直接爆满,物理机直接逝世了。

zhangjinxuan 发表于 2023-7-3 21:27:47

陈尚涵 发表于 2023-7-3 17:22
我真的只是想测试一下高山oj的防护怎么样啊,这个oj难道还能看到其他人的代码???那岂不是什么 ...

主要是我这该死的小熊猫有换行就自动语法检查的功能……{:10_266:}

想把它禁了,但又想想禁了又不好{:10_250:}

陈尚涵 发表于 2023-7-3 21:48:04

zhangjinxuan 发表于 2023-7-3 21:19
“大半天”是一个含有特殊意义的词语,因为我平常启动只需要 15 秒,但这次用了 3 分钟,比平常慢了亿点 ...

那不是没事吗,话说为什么内存爆满导致启动时间长呢。我这边就是1.4G,又测试了一下,还是1.4G,4G内存我觉得除非你开启了很多东西不然也不至于直接爆掉啊?

wsghr46 发表于 2023-7-3 22:08:25

{:10_245:}

zhangjinxuan 发表于 2023-7-3 22:26:11

陈尚涵 发表于 2023-7-3 21:48
那不是没事吗,话说为什么内存爆满导致启动时间长呢。我这边就是1.4G,又测试了一下,还是1.4G,4G内存我 ...

可能是因为强制关机而导致的错误,我重启后弹出了个“请稍等”。

我是 8G,而且真的爆了,虚拟机也是直接上升到 99%。

可能是软件配置原因。
页: 1 [2]
查看完整版本: 请各位C/C++党,千万不要编译这个代码,否则你的内存会……【C++之系统恶搞】