机器人评判吮吸!只有在删除以下代码块后,我才被UVA接受:
cin >> ntc; /* extract newline from previous read */ char dummy(0); cin.get(dummy); assert( '\n'==dummy ); /* newline extract completes */
替换为:
cin >> ntc; getline( cin, inputN ); /* extract remaining '\n' */
在更换之前,UVA的光荣机器人法官会做出判决:
您的提交....已失败,判决超出时限.
您的程序使用的CPU时间超过了此问题所允许的时间.这意味着您的算法速度不够快或进入无限循环.
更换后程序需要0.052秒才能运行!
它以什么方式与被替换的代码相关?
有没有关于UVA机器人判断与其他编译器有何不同的文件?因此,我知道在线评判可用的功能/方法.
我用MinGW.
断言无法创建无限循环.
我的猜测是,当断言触发时,操作系统会显示一个即时调试提示("程序中发生错误... [调试] [取消]").(对不起,我现在没有运行Windows,因此无法检查实际的措辞).由于没有人按下任何一个按钮并且该过程没有终止,直到有人这样做,机器人认为该程序仍在运行.
我认为这是UVA设置中的错误.必须禁用即时调试.