有一堆提交记录:
格式如下:
===username1=== #include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { printf("%d\n",a+b); } return 0; } ===username2=== #include<stdio.h> int main() { int a,b,c; while(~scanf("%d%d",&a,&b)) { int c = a+b; printf("%d\n",c); } return 0; } ===END===
这是提交记录的文件内容,靠前的代码是先提交的。
你要做的事情是输入这个文件,然后计算出谁提交的代码最短。
如果有多个用户提交的代码长度相同,则请输出最早提交的人的用户名。
计算代码长度规则:代码长度等于代码中所有可见字符的数量(即不包括空格符和换行符。数据中不可见字符只有空格和换行符\n)。
每次输入只有一组数据。(但是有多个测试文件)
格式如上所述。
每份提交记录的开头是“===username===”的格式。(不计入代码长度)(同一个用户会提交多次)
后面跟的是他所提交的代码内容。
最后以“===END===”结束。
文件中每行的字符串长度小于999
用户名的长度在20以内
保证读入的文件中没有一个人的用户名是“END”
用户名只包含大写字母、小写字母、数字和下划线(_)。
输出一行表示最短代码的提交人的用户名
如果有多个用户提交的代码长度相同,则请输出最早提交的人的用户。
本题评分规则:
答案正确的情况下、你提交的代码越短,得分越高。(代码长度计算和本题题目中所说的一样)
多次提交取最高得分。
本题数据来源真实的本oj某些比赛的提交记录。(不是本场比赛。。。)
返回SCORE说明已经AC了,之后要做的事情就是优化你的代码,获的更高的得分。
注释会计算到代码长度内。
===username1=== #include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { printf("%d\n",a+b); } return 0; } ===username2=== #include<stdio.h> int main() { int a,b,c; while(~scanf("%d%d",&a,&b)) { int c = a+b; printf("%d\n",c); } return 0; } ===END===
username1提示: username1这个人提交的代码比username2提交的代码要短,所以输出username1