发起人:肖舸
参与人:优快云学生大本营的C/C++的朋友
转载人:老紫竹
原地址:http://student.youkuaiyun.com/space.php?uid=39028&do=thread&id=287
加入讨论的方式: http://student.youkuaiyun.com/invite.php?u=2324&c=47889c9260258df7
肇事者:吉首大学 邓嘉(C/C++学生)
男主角:肖舸,韩卫平
配 角:赵洪亮 陈建树 周海鑫
事情起因:老肖经常被同学问代码的事情,可这些代码在他看来简直是“太难看懂”了,老紫竹的家所以有此感慨。
经过: 可不可以拜托各位一件事情?
很多同学喜欢把代码拿上来,询问。
不过,肖老师是程序白痴,看不懂同学们的代码。
举个例子
这是某位同学的代码,我仅仅是举例子,不是针对这位同学,希望不要见怪哈。
这种程序,在我们的工程项目中,将会直接拒收。并且不计算工作量,嗯,顺便也就不发薪水了。
大家写程序,请务必写出人看得懂的程序,不要想当然的认为,每个人都有你这么高的水平,每个人理所当然,思路这会和你一致,一定能看懂你写的代码。
这里我也提示大家一段代码。
这是一段变参的字符串打印函数,我也没有加任何注释,如果有看不懂的同学,请直接向我询问。
里面使用的是匈牙利命名法。
我们的规定,程序中永远不准使用直接的常数。任何常数必须用宏表明其含义。
只准有两个地方出现常数
for(i=0;i<n;i++)
while(1)
0,1是唯一被允许使用的常数。
大家看到的,也是唯一被允许写出的循环,其他任何循环形式,递减,老紫竹的家do while,不允许使用。
关键算法不允许直接写出,只准使用宏表示,宏名表示其真实含义。
每个计算宏内只允许出现1个四则运算符号,且不管是何种运算,均必须使用()包围。
每个变量和函数名必须直接表意。
main函数是组织者,不允许直接实现功能,永远只能调用别的函数。
* 武汉大学珞珈学院 卢阳(C/C++学生)
老师的这篇帖子让我想起了软考下午试题的一些不科学的地方。比如说一个很简单的数据结构的题目,如果整个程序都让我们自己编码,那可以说事一件相对幸福 的事了,但它恰恰不这样做,一段代码5个空,让我们自己填。老紫竹的家这下子题目难度就陡增了。为什么?代码里一系列乱七八糟的变量,m,n,i,j,也不写注释。 虽然考试的时候大家都是如此,从某种意义上来说是平等的。但还是忍不住抱怨下。
* 韩卫平(C/C++老师)
对于新手而言,能作出来就可以了,那么多条条框框只会打击积极性。
* 吉首大学 邓嘉(C/C++学生)
呜呜~~
上面的就是我的代码。
本来想写注释的,但是要写的话,太多了,而且还描述不清楚,故就省略了。呜呜,看来要改了........
顺便去了解匈牙利命名法。
* 北邮(软件工程) 陈建树(C/C++学生)
匈利利命名法有大小写,又很长,输入速度巨慢,肖老师有什么好的解决方法?平时写代码我跟邓兄差不多。。。。汗
* 韩卫平(C/C++老师)
用不用匈牙利命名法无所谓,关键是易读。
我倒是不提倡用 匈牙利命名法。
* 北邮(软件工程) 陈建树(C/C++学生)
韩卫平(C/C++老师): 用不用匈牙利命名法无所谓,关键是易读。
我倒是不提倡用 匈牙利命名法。
我试过一段时间的按意义命名,缩写的厉害了自已也看不懂,写长了输入量太大,老紫竹的家肖老师平时是怎么命名的?
* 韩卫平(C/C++老师)
length count size之类的,要是英文不好可以用中文,反正VS2008支持中文变量,函数名啥的。都可以用中文
在公司做的话就按照公司的标准来、
* 吉首大学 邓嘉(C/C++学生)
我原来用来c++入门的书,是Y.Daniel Liang的
《Introduction to Programming with C++》。由于里面的命名都是按意义的,于是有很长一段时间,都是按照那样来的。但是,基本上每次都要开个金山词霸去查询单词,都要拿个笔记本记单词。后来就没有坚持了~~
* 南京大学 王明强(Java学生)
对程序目的和关键的变量和语句简要注释一下不是很好吗,易读易写
* 武汉大学 周海鑫(Java学生)
想成为一个合格的程序员,平时必须要注意养成代码的规范性。
* 武汉大学 周海鑫(Java学生)
代码规范是一个程序员最低最基本的要求。
* 上海海天信息系统工程有限公司 常健(Java爱好者)
我觉得越是新手,越是要养成一个良好的编码习惯。第一篇受影响的文章是林锐博士的高质量 C/C++
至今有段时间了,不过我希望大家都能要成一个好的编码习惯,LZ老师说的不错
* 同济大学 挽弓挽强(C/C++学生)
可以用visual assist啊,不知道你用过没,第一次输入一个变量之后,比如int iLength,第二次只要输入il,编译器会自动让你选择是否你所要打的是iLength
* 肖舸
一开始习惯不养好,永远写不出工程型代码。
就是喜欢它规矩多。
比如,一个变量,是内部变量,m_打头,如果想让它变成全局的,需要显式修改g_打头,老紫竹的家这实际上是逼着程序员重新过一遍自己的代码,想想,这么改有没有必要?能不能不改?改了会有什么不好的恶果?
另外,匈牙利命名法从命名上能看出属性。
比如m_pQueue->AddLast,大家能知道什么意思吗?
如果写成m_Queue->AddLast,直接看就知道程序出问题了,因为不是指针变量,不允许使用->,只能用.
程序员不怕多敲字的,怕的是自己看不到bug。
那这个程序在很多Linux的编辑器中将不可编辑,因为都是乱码。
其实我考软考不及格的。呵呵。
我比较喜欢写赚钱的代码,不太喜欢写考试的代码。
注释肯定是必要的,只是,这里我为了举例子,给的东东比较极端一点而已。
visual assist很不错,老紫竹的家我也在用。
推荐大家使用。
* 赵洪亮(C/C++菜鸟)
恩。。 我的代码也不是特别规范
以后要注意了~
* 肖舸
昨天晚上,光顾看格式了,发现这个程序也可能有bug,再分析一下。
顺便去了解匈牙利命名法。
如果你要说的话,用人的话都说不清楚,或者说出来,人都听不懂,请问计算机还能听懂不?
写程序,我的感觉就是做文章。
写一段话,就是让人看了,知道先做什么,再做什么,最后得到什么,得到的结果有什么意义。
写一段程序,就是让计算机看了,知道先做什么,老紫竹的家再做什么,最后得到什么,得到的结果有什么意义。
有差别吗?
* 南京工业大学Mars工作室 夏金龙(Java学生)
嗯,受教了....以后写代码尽量标准!
* 徐浩然(C/C++老师)
这些都是最基础的东西哦。如果你写的代码别人看不懂的话,你将来也会看不懂的。
* 北邮(软件工程) 陈建树(C/C++学生)
恩,看来以后我一定要强迫自己编码规范
* 北邮(软件工程) 陈建树(C/C++学生)
以前一直用vc2008速成版,用不了,前几天换成VC6了,装了visual assist,但还没用过,谢谢你啊
* 吉首大学 杜飞(游戏开发学生)
对 应该有一个好习惯
* 赵洪亮(C/C++菜鸟)
其实我还是觉得匈牙利命名法比较诡异
没有长时间的经验是很难看懂的
Java和C#里的命名是最接近自然语言的 缺点是名字太长
* 肖舸
Java和C#里的命名是最接近自然语言的 缺点是名字太长
你不喜欢你的老板,但是你得从老板手里赚钱,这就是道理。
喜欢是一回事,赚钱是另外一回事,找既喜欢,又赚钱的事情做,太难了。
呵呵,我从内心讲,最开始也不喜欢匈牙利命名法的,不过它能帮我赚钱,养活老婆和孩子,这就够了。
命名其实是越长越好的,因为表意性很好,大家看了像看文章一样,一目了然。
我有些代码,10年了,还在用,就是因为当初写的时候,变量名,老紫竹的家函数名,写得很清晰。我到现在一看就明白,又没什么bug,为啥不用呢?
上文中举出的例子代码,就是2002年写的,到现在都还在用。7年了。
很多人忌讳写长名字,主要原因,可能还是怕敲起来麻烦。
但现代的IDE编辑器,包括VC,其实有很方便的拷贝功能,事实上,我的变量名,函数名,都只敲一遍,以后全部是拷贝+粘贴。
这样还有一个好处,就是我写的代码,永远不会有笔误,不会因为我敲错一个字符而导致bug。用一个好的习惯,解决整整一个方面的bug,你说划算不划算?
当然也有一个坏处啦,如果一个名字中的英文拼错了,完了,这个拼写错误将会从头贯穿到尾,让人看起来很难受。呵呵。
不过要解决也很简单,就是一个全局替换就好了。
名字长了,不容易重名,全局替换也就方便了,免得一个替换,n多的bug。这也是好处。
我写的最长的名字,237字符吧,VC和gcc好像都支持超过255字符的名字。
名字还是长点好。
嗯,当然还有一个坏处,就是我键盘左边的ctrl键,总是被磨得光溜溜的,也第一个坏,很容易坏。
那有啥办法,一个键盘20块钱,批发17,买5个放家里搁着好了。
* 学生大本营辅导员 张媛(Java爱好者)
肖老师讲课真幽默
* 肖舸
严肃点,我们这打劫呢!
* 太原理工大学 刘川平(C/C++学生)
编码规范很重要,深有体会。呵呵
* 韩卫平(C/C++老师)
写程序为啥非要在乎条条框框?
写程序第一点是易于维护,不用匈牙利命名就不易于维护了?老紫竹的家我见过7000行的一个函数,命名规则,代码非常规范。你说这个代码是好代码么?
一个类一个函数多到用匈牙利命名法来区分成员的地步的时候,只能说名设计上有问题。造成所谓的万能类,万能函数。这时候就得依靠合理的命名法,来管理不同类型不同功能的变量。
* 肖舸
如果一个函数写7000行,这个函数基本上就不可维护了。
我们一般规定,每个程序员的最大函数行数,和自己身高的厘米数相同。
呵呵。
哇,7000行,这就是传说中的,一个函数写两米多高啦。
* 韩卫平(C/C++老师)
对于学习的时候来说,我是非常不建议使用visual assist。我见过不少程序员用这个,然后不小心删了一个;号,就在那里找BUG,找了半个小时都没找出来。我直接看到在那里少了一个;号。老紫竹的家都写代码几年了,语法都错误都不能快速的解决。
学习的时候别偷懒,记住写的代码,很有帮助。
不知道肖老师在没有visual assist的情况下能写多少代码不出编译错误?
* 肖舸
我有点点好奇哈,随便问问。
请问您现在在哪家公司高就?
bug,能看见,就不叫bug。
* 韩卫平(C/C++老师)
怎么了,要来检查工作?
* 肖舸
不敢,随便问问,可以不回答的。
呵呵。
不打不相识哈。
交个朋友。
* 韩卫平(C/C++老师)
问题是,看不出来。类声明最后少了一个;然后错误报到cpp文件中。
以前我们有个老大,用VIM写程序,没有任何智能提示,完全自己敲代码,敲多少行都不会出啥问题,没编译错误,没逻辑错误。最常见的场景是帮新手改代码,改好直接就说“行了可以用了”。老紫竹的家不用编译调试。那人编译测试,果然没问题。
* 肖舸
你老大很牛啊。
不过,这是艺术,不是科学,艺术是不具备可复制性的。
在公司里面的商用工程实践中,我们强调科学,即能迅速在团队内部复制一种能力,最快速度把团队的开发水平拉平,避免出现短板现象,即由于某个程序员的失误,导致整个项目进度延期,最后大家受损。
因此,我们团队中,一般不太强调个性化,强调标准化,一个算法,如果库里面有提供,就强迫使用,不允许自己开发,如果库代码性能不行,自然有负责库维护的人完成。
同理,一个算法,如果两个模块都用到,ok,先写完的入库,第二个不准写,用第一个的。
大家的代码,要求千篇一律,使用统一的格式,使用统一的命名法,使用统一的结构原则。
这也许会抹杀程序员的创造性,但是,在项目压得紧的时候,团队合作开发,不这么做,会死人的。
我就是用这种方法,去年做的一个服务器集群,几十万行代码写下来,9轮测试,只有51个bug,属于C和C++这边的,只有7个bug。
我想,就算是你老大,也喜欢这么低的bug率。
* 赵洪亮(C/C++菜鸟)
呵呵,我从内心讲,最开始也不喜欢匈牙利命名法
Visual Assist X还是很好用的,现在的IDE都有代码提醒功能
所以打错变量名的问题很少出现的
只是觉得太长的变量名会使代码行变得老长
反而影响可读性
匈牙利命名现在我也习惯了,但是有时候忘了去遵守
比如strFileName我经常性的忘写str 写成fileName
szBuffer写成bufferSize,虽然不符合规范
但是易读性还是有的
* 韩卫平(C/C++老师)
在公司里面的商用工程实践中,我们强调科学,老紫竹的家即能迅速在团队内部复制一种能力,最快速度把团队的开发
扯远了
我的意思就一点,对于新手而言,没必要遵守公司的那一套。
只要写出来的代码易读,别人一看就明白的那种即可。
* 肖舸
匈牙利命名
代码横向变长,请多回行。
fileName可以,只要表意性够了就好了。
szBuffer写成bufferSize,就太过分了,还不如不表意,你完全在误导嘛。
* 四川大学锦江学院 黄启银(C/C++学生)
良好的编程风格,易于检查错误,应该养成的良好的风格。
* 肖舸
对于新手而言,还是有必要考虑学出来以后,是要找工作的。
嗯,家里面很有钱,把程序纯粹当爱好的,这辈子不需要工作的,确实可以不按照公司里面的规矩来。
* 武汉大学珞珈学院 卢阳(C/C++学生)
没办法啊,学校太烂。
如今都在寝室看书,自己动手写代码。虽然是计科系,但在系里真正由交流的就一个同学。
我们系里的风气是这样的,玩的人玩的太彻底,陷在游戏里。学的人都为奖学金。现在大三,在我看来考研能成功的人顶多5%,但是居然有80%人参加考研。
我是拒绝考研的那类人,因为学校招牌不硬,时间也不多,老紫竹的家如果还把那么多时间投资在数学,政治,和专业理论上,就基本没时间动手了。万一考不上,那形式就 相当被动了。想出去实习,但没本本不行吧?你再怎么说你做过多少事,连一个像样的证书都拿不出来,人家不甩呀。
所以被逼去考那个考试,总感觉这个考试不太具备说服力。但在中国就是这样,呵呵。考考也无妨吧,不过挂了后浪费的120块钱够自己心疼一会了。
* 肖舸
如今都在寝室看书,自己动手写代码。虽然是计科系,但在系里真正由交流的就一个同学。
我们系里的风气是这样的,玩的人玩的太彻底,陷在游戏里。学的
这倒是中肯之言。
必要时,贴贴金是对的。
进公司做事,需要一些证书做敲门砖。
不过,既然学了,努力学到真本事,证书这么考,也有道理,其实给的条件越少,越能锻炼人,当锻炼好了。
考挂了怕什么?再来就好了。
人生一世,三起三落不到头。
* 武汉大学珞珈学院 卢阳(C/C++学生)
普罗通信西安有限公司 肖舸(C/C++老师): 这倒是中肯之言。
必要时,贴贴金是对的。
进公司做事,需要一些证书做敲门砖。
不过,既然学了,努力学到真本事,证书这么考,也有道理,老紫竹的家其实给的条件越少,越能锻炼人,当锻炼好
恩,我是这么想的。
很多人怕输,觉得输了后没面子。感觉那些人不太像是为自己而活着,更想是活的给别人看的。这样活着太累。其次,当你静下心来会发现,就算自己失败后,敢取笑你的人又真正有多少,可能都没人会关注你。
不以自我为中心就不会怕输。
* 吉首大学 邓嘉(C/C++学生)
上课回来看到回复,于是补充了。感觉好多的地方都没有写明白。
(嗯,上传的时候,排版不知道会不会被打乱)
* 华东交通大学 无为(C/C++学生)
写大家看地懂的代码
* 武汉科技大学 赵孜泷(Java学生)
也对.以后必须说明
相关推荐
数据库decimal类型详解:精度、标度与金额计算避坑指南
在关系型数据库中,浮点数精度丢失是常见问题,尤其涉及金额计算时,一分钱误差都可能导致对账失败。decimal类型通过十进制存储方式,将小数当作定点数处理,避免了二进制转换误差,确保运算结果精确。其核心在于精度和标度的合理定义,以及运算舍入规则的控制。在电商订单、汇率转换、税务计算等场景中,decimal是保障数据准确性的关键技术。理解其存储原理和实操细节,能有效规避隐式转换、聚合函数精度等常见坑点,提升系统可靠性。
QQ群78928780记录整理:90516技术话题
利用GeoTools高效切割GeoTIFF为WebP瓦片:从配置到实战
本文详细介绍了如何利用GeoTools将GeoTIFF高效切割为WebP瓦片,从环境配置到实战技巧全面覆盖。通过对比WebP与PNG格式的优势,展示其在体积压缩和传输效率上的显著提升,并提供多线程切割、内存管理等性能优化方案,帮助开发者快速实现地理空间数据的Web地图服务部署。
年终总结
使用兮克 2.5G 交换机将北京联通 EPON 改为 ODI 猫棒接入
最近入手了兮克2.5G交换机(兮克SKS1200-8GPY1XF),有 8 个 2.5G 电口和 1 个 10G SFP+ 光口;支持多种组网模式,其中一种是支持使用猫棒接入,由路由器拨号后再回接到交换机,这样就可以替换掉光猫了。
实战分享:如何用本地替换和插桩调试搞定Kasada最新版x-kpsdk-cd环境检测
本文深入解析Kasada最新版x-kpsdk-cd环境检测机制,提供动态请求拦截、本地替换和函数插桩等实战调试策略。通过Proxy保护破解、关键函数断点调试和环境检测对抗方案,帮助逆向工程师有效应对从280位扩展到294位的加密数组挑战,实现高效补环境调试。
QQ群78928780记录整理:90514技术话题-部分
SLUB DEBUG 检测slab 内存泄漏
文章介绍如何定位linux 内核中slab 内存泄漏。
2019小明的比赛c++
问题描述 小明的算法竞赛水平很高,他经常参加网上的比赛。 比赛的规则是这样的:要在规定时间内解决 n 道题,解决时间越晚失去的 分数就越多。 当然如果有错误提交还会扣额外的分数。为了简化题目,我们假设小明所有 题目都可以一遍 AC。 小明实在是太强了,以致于他看完所有题目就都会做了。 剩下的就是把它们 写出来的问题。 小明掐指一算,算出了写每道题需要的时间 Ti,以及每道题每分 钟会失去的分数 Ai。 也就是说,如果他在 x 分钟时完成这道题,他将失去 x * Ai 的分数。 请合理安排做题顺序,使得当小明
升级最新IDEA版本(2022.1.1)
升级最新IDEA版本(2022.1.1)
MATLAB - ROS 2 工具箱入门教程
ROS 工具箱提供了一个连接 MATLAB® 和 Simulink® 与机器人操作系统(ROS 和 ROS 2)的接口。利用该工具箱,您可以设计 ROS 节点网络,并将 MATLAB 或 Simulink 生成的 ROS 节点与现有的 ROS 网络相结合。工具箱包括 MATLAB 函数和 Simulink 块,可通过记录、导入和回放 rosbag 文件来可视化和分析 ROS 数据。您还可以连接到实时 ROS 网络,访问 ROS 消息。
说能过那是假的(吉首大学2019程序设计校赛)c++
链接:https://ac.nowcoder.com/acm/contest/992/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 这道题你只需要呆萌呆萌的把下面的代码交上去就行了,我书读的多,不会骗你的,我发4。 #include<stdio.h> #include<string.h> int main() { char ch[1000...
31、Labview如何搭建程序框架?--状态机到数据采集等常用框架
本文废话不多,直接列举几种框架搭建方式,为了尽量向大家提供干货,本文直接从简介和手把手教搭建框架两方面来讲解,本文提到五种经典框架模式,学会这五种就很够了,分别是:状态机框架(State Machine)、生产者-消费者框架(Producer-Consumer)、主-从框架(Master-Slave)、事件驱动框架(Event-Driven)、分层架构(Layered Architecturep)。这个框架是基于状态机结构的。顾名思义“状态机”就是个“切换程序状态的机器”。本质是一个。
马虎的算式
马虎的算式问题描述C++代码 问题描述 【问题描述】 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde =
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
[C#基础]c#中的BeginInvoke和EndEndInvoke
摘要 异步这东西,真正用起来的时候,发现事情还是挺多的,最近在项目中用到了异步的知识,发现对它还是不了解,处理起来,走了不少弯路。觉得还是补一补还是很有必要的。 MSDN原文地址:https://msdn.microsoft.com/en-us/library/2e08f6yc(v=vs.110).aspx 正文 .Net framework可以让你异步调用任何方法。为达这样的目的,你可以...
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
小明学C++第五篇:操作系统
本篇博客重点在于文件系统,中断、进程的概念,以及整个存储系统的实现。 背景前面讲到小明编写了一个多边形面积计算的程序,小明将它编译成二进制可执行代码保存在计算机中。然后小明双击该文件并运行,期间小明输入了几个顶点坐标后,最终控制台显示了正确的结果。那么这期间又发生了什么呢?文件的存储讲到文件的存储,就涉及到文件系统。 下面一段句子是微软对文件系统的描述: A file system is a
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
小题目(转别人的) 收藏收藏 感觉不错
第一题:假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。 第二题:周雯的妈妈是豫林水泥厂的化验员。 一天,周雯来到化验室做作业。做完后想出去玩。 "等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起
代码注释语法及规范参考
在实际开发中,我们在定义一些类或组件时,经常要写一些注释。前端注释如下: /** * @property {String} 日程拥有者的ID * @desc 用于加载日程信息时指定 拥有者 * ### 示例:'T001' */ ownerID: null, /** * @property {Array} 日程拥有者的ID 数组 * @desc 用于加载日程信息时指定 拥有者 * # 示例:['T001'] */ ownerArr: [], /** * @property {String} 日程显示及
蓝桥杯C++——试题 算法提高 成绩排名
问题描述 小明刚经过了一次数学考试,老师由于忙碌忘记排名了,于是老师把这个光荣的任务交给了小明,小明则找到了聪明的你,希望你能帮他解决这个问题。 输入格式 第一行包含一个正整数N,表示有个人参加了考试。接下来N行,每行有一个字符串和一个正整数,分别表示人名和对应的成绩,用一个空格分隔。 输出格式 输出一共有N行,每行一个字符串,第i行的字符串表示成绩从高到低排在第i位的人的名...
小泉的难题
小泉的难题 Time Limit:1000MSMemory Limit:65536KB SubmitStatistic Problem Description 机械实验班有个同学叫小泉,有一天数学老师给小泉布置了一道个人作业,给小泉M(M Input 输入包括M+1行,第一行是两个正整数M、N;M表示总共多少组数据,下面M行每行包含N个正整数。(输入数据
小明系列故事——师兄帮帮忙
Problem Description 小明自从告别了ACM/ICPC之后,就开始潜心研究数学问题了,一则可以为接下来的考研做准备,再者可以借此机会帮助一些同学,尤其是漂亮的师妹。这不,班里唯一的女生又拿一道数学题来请教小明,小明当然很高兴的就接受了。不过等他仔细读题以后,发现自己也不会做,这下小明囧了:如果回复说自己不懂,岂不是很没面子? 所以,他现在私下求你帮忙解决这道题目,题
274



被折叠的 条评论
为什么被折叠?



