为什么提交代码会显示超时,自己机器上都是很快出结果,求大佬解答

P1914 小书童——凯撒密码

yunyi1129 @ 2023-12-09 02:03:53

#include <stdio.h>
#include <math.h>
int main()
{
    int n,i,k;

    char ch,it;

    scanf("%d",&n);

    getchar();
    for(i=1;i>0;i++){
        ch = getchar();
        if(ch!='\n'){
            if((ch+n)<='z'){
                ch = ch + n;
                putchar(ch);
            }else{
                k = n - ('z' - ch);
                ch = 'a' + k - 1;
                putchar(ch);    
            }

        }else{
            break;
        }

    }
    return 0;
}

by SpeedStar @ 2023-12-09 02:39:12

@yunyi1129 看你i的范围。。


by cff_0102 @ 2023-12-09 04:01:54

@yunyi1129 for(i=1;i>0;i++)?


by GoodLuckCat @ 2023-12-09 08:05:59

for(i=1;i>0;i++)

你不超时谁超时啊


by Luzhuoyuan @ 2023-12-09 08:06:24

@yunyi1129 循环里 if(ch!='\n') 改成 if(ch>='a'&&ch<='z') 就过了,估计是换行符不同导致的。这种问题可以用洛谷 IDE 检查出来。

@寒烟冷浅暮殇 @cff_0102 以及楼上两位,人家本来就是想写死循环的。。。


by _Spectator_ @ 2023-12-09 08:31:55

死循环可以写 'while(1)' 或者 'for(;;)'


by cff_0102 @ 2023-12-09 11:52:16

我的问题


by Sci_8633 @ 2023-12-16 18:41:50

在c++中,每个纯空行都占有2字节的空间,如果空行太多,就会占用太多内存。


by yunyi1129 @ 2023-12-18 23:43:20

@Luzhuoyuan 哇我的天,感谢大佬,终于过了,受教了,膜拜大佬。(这些天没看洛谷(军训的reason),抱歉呢,现在才回复)


by Fengshanjian004 @ 2024-03-27 17:14:37

@Luzhuoyuan 遇到了同样的问题,总算解决了,感谢大佬!!!


|