在USACO平台上,上面博文中的代码运行最长运行时间~0.4s
在同学的启发下,本人修改了读入部分,换成了如下代码:
C语言: 高亮代码由发芽网提供
1 char c;
2 while(!feof(stdin))
3 {
4 c = getchar();
5 if(c == '0') str[len ++] = 0;
6 else if(c == '1') str[len ++] = 1;
7 }
2 while(!feof(stdin))
3 {
4 c = getchar();
5 if(c == '0') str[len ++] = 0;
6 else if(c == '1') str[len ++] = 1;
7 }
重新提交,结果如下:
Test 1: TEST OK [0.000 secs, 11992 KB] Test 2: TEST OK [0.000 secs, 11992 KB] Test 3: TEST OK [0.000 secs, 11992 KB] Test 4: TEST OK [0.000 secs, 11992 KB] Test 5: TEST OK [0.022 secs, 11992 KB] Test 6: TEST OK [0.022 secs, 11992 KB] Test 7: TEST OK [0.022 secs, 11992 KB]程序运行时间大大缩短!
可见,strcat的效率十分低下。
In conclusion,选择合适的输入输出方式避免时间浪费。
No comments:
Post a Comment