第一篇题解
题目直通车
其他大佬的题解
这题像我这样的菜鸟第一眼也看的出来暴力会超时,楼上大佬的题解使用数学方法做的 (虽然也会,但懒得写)。我这里只讲用暴力过全对的方法。
1.简化题意
做题总要清楚题目讲什么,要求什么:
给定
我们可以提炼出精髓:是否满足
2.思考算法
1.暴力
2.数学
开始的时候也说了数学方法不讲,数学方法不适合初学者。
题目中有四个变量,两个已知,两个未知。我们只需枚举未知的两个变量就行了。当然这里有些同学这样写 (就是我的学生...)
for(int i=1;i<=m;i++)
for(int j=1;j<=m;j++)
这次的简化题意里我一字不差的把题目描述抄了过来,题目清楚地说了 for(int j=1;j<=m;j++)的用户快改过来。应为for(int j=i+1;j<=m;j++)
3.提升算法
你先写出超时代码,再去试试
具体代码不展示!我认为清楚算法应该自己去写程序,经历编写调试的过程(《深入浅出程序设计竞赛·基础篇》就明确说明了编写调试的过程)你写不出可以在讨论发表,AT我。你只要有这个过程就行了,你不写,去抄根本看不懂的题解,就是做无用功。