杭电OJ---1070_Milk_WA若干次后AC总结
来源:互联网 发布:js调用cmd 编辑:程序博客网 时间:2024/05/19 18:38
其实题目没多难,可为什么总是WA呢?
- 审题错误:题目有这么几句话。
Here are some rules:
1. Ignatius will never drink the milk which is produced 6 days ago or earlier. That means if the milk is produced 2005-1-1, Ignatius will never drink this bottle after 2005-1-6(inclusive).
2. Ignatius drinks 200mL milk everyday.
3. If the milk left in the bottle is less than 200mL, Ignatius will throw it away.
4. All the milk in the supermarket is just produced today.
Note that Ignatius only wants to buy one bottle of milk, so if the volumn of a bottle is smaller than 200mL, you should ignore it.
Given some information of milk, your task is to tell Ignatius which milk is the cheapest.
第3条rule说如果瓶子里的牛奶不足200ml,他就会扔掉。后面又说,如果一瓶牛奶的容量小于200ml,你应该忽略它。
我当时将这两条都理解成后面的意思了。所以算性价比时,被扔掉的部分也算进去了。
而题目的意思是不应该算的,虽然题目有些不合常理,不足200ml就不喝扔掉不浪费吗? - 输入变量时对应变量顺序错误,调用函数时传递参数的顺序搞混:
低级错误,没什么好讲的。这种错误犯了还不易发现。以后要少犯!最好养成边编写边检查细节的习惯。 - 强制类型转换使用细节出问题:
比如:
cout << (float)(5/2)输出结果是 2
cout << (float)5/2输出结果是2.5
所以搞不清优先级却又认为大不了多加几个括号的人要注意了,有时候加括号是可以解决问题,但这个例子告诉我们,有时候括号是不能随便加的。
这样的错误虽然犯的概率不大,但一旦犯了,那就悲剧了。找出这么细微的错误,真心难啊! - 分母不能为零;
这道题好像不会有多大影响。但这是个很值得注意的问题。
试着执行一下下面的语句:
cout << 1.0/0 <<endl;
cout << 1/0.0 <<endl;
cout << 1.0/0.0 <<endl;
cout << (float)1/0 <<endl;
cout << 1/0 <<endl;
如果你用的是codeblocks,你会发现前面几个输出的都是inf,只有最后一个系统会报错。
这也就可以得出下面几个结论:
算术运算时,只要左右操作数中一个是浮点类型(相对较高的类型),计算机会先将操作数都转换成浮点类型再计算。当然结果也是浮点类型的。
强制类型转换时,也是将左右操作数先转化成相应的类型再计算。如果操作数是表达式,要先算出结果再转换类型。学过操作符重载就知道,因为左右操作数也是相当于参数传到函数内的,所以要先算出结果再转换类型。
下面给仍然没AC的同胞几组测试数据,没准就能发现自己的问题所在。
5
2
Yili 10 399
Mengniu 10 400
4
Yili 40 600
Mengniu 40 9999
Guangming 1 199
Yanpai 40 8800
2
Yili 3 199
Mengniu 3 100
2
Yili 10 401
Mengniu 10 400
2
Yili 0 399
Mengniu 0 400
我AC的程序输出的结果是:
Yili 10 399
Mengniu 10 400
Mengniu
4
Yili 40 600
Mengniu 40 9999
Guangming 1 199
Yanpai 40 8800
Mengniu
2
Yili 3 199
Mengniu 3 100
Yili
2
Yili 10 401
Mengniu 10 400
Yili
2
Yili 0 399
Mengniu 0 400
Mengniu
- 杭电OJ---1070_Milk_WA若干次后AC总结
- 杭电oj 1061题AC代码
- 杭电 OJ 1219 AC Me
- 杭电OJ--2037 今年暑假不AC
- 杭电oj 2200 Eddy's AC难题 Java
- 杭电HDU OJ A + B Problem II ID1002 AC
- 杭电 HDU OJ Max Sum ID1003 AC
- 杭电oj—1219—AC Me
- 【杭电OJ 2037】 今年暑假不AC (贪心)
- C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~
- C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~
- 杭电oj第1004总结
- 若干次模拟赛的总结
- 杭电OJ 1070 milk
- 大数相加的原理及代码(杭电OJ上AC过的)实现
- 杭电OJ(HDOJ)2037题:今年暑假不AC(贪心算法+排序)
- 【杭电oj】2037今年暑假不AC(贪心算法)
- 【杭电-oj】-2037-今年暑假不AC(贪心,sort,结构体)
- 步步学GDB-《3》
- MyBatis_settings
- Android: 按键的功能及处理机制
- HDU——2025 —— 查找最大元素
- ASP.NET MVC 理解MVC模式
- 杭电OJ---1070_Milk_WA若干次后AC总结
- Java并发编程之ConcurrentHashMap
- POJ 1459 Power Network 多源点多汇点+最大流(EK算法)
- HDU——2024 —— C语言合法标识符
- MyEclipse9下Maven开发Web工程的配置教程
- Objective-C类成员变量的作用域、self的用法、私有方法
- centos perl的安装
- HDU——2023 —— 求平均成绩
- 数据结构-内部排序