博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA10976摸鱼的暴力枚举初步.....
阅读量:4143 次
发布时间:2019-05-25

本文共 1777 字,大约阅读时间需要 5 分钟。

https://vjudge.net/problem/UVA-10976

我一开始的想法超时了......

其实想法也还好,里面有两个需要优化的地方.....

(1)通常做法是y<2*k

然后从k开始枚举的..  其实想一下也是,从二倍然后加加加

(2)我 的顺序反了-

完全不需要stack啊....  开两个数组存一下就好了,因为你免不了要输出sum,所以这个存储绕不开的

哪怕是y倒着开始... 或者 是什么的...

(3)暴力枚举....!!!  其实x不用枚举的,只要除法就好了

并且不会有精度损失!!!!!!!因为是int所以除得尽啊 .......多虑了

ac的代码

#include
#include
using namespace std;int main(){ int k; while (cin >> k) { int a[1005], b[1005]; int x; int i=0; /// 的确x可以怎么算... 但是y的确是在减小的啊= - // ...从k开始 for (int y = k + 1; y <= 2 * k; y++) {// k+1!!!k是肯定不行的!!!!!!!!!!!!!!!!! if ((k * y) % (y - k) == 0)// 判断条件就是这样了 { x = (k*y) / (y - k); /// 再有.. 傻了 既然x是int那肯定可以除尽啊..... //关键是不用枚举x.... a[i] = x; b[i] = y; i++; } } cout << i<< endl; for (int m= 0; m < i; m++) cout << "1/" << k << " = 1/" << a[m] << " + 1/" << b[m] << endl; } return 0;}///只要枚举y,然后找到符合条件的x就可以了,从顶向下找...../// 而不是,面向数据开始分析... orz/// 从题目中来.. 从题目中枚举.... /////x*(y - k) == k*y;// 倒序输出完全不是问题......但是这个方法似乎复杂了一倍= =// sum完全不是问题... 用数组存一下就好了

然后超时的....

stack别看了吧= =只能说我  从x开始找大概也没错

数学啊,,, 还是多分析了的好

#include
#include
using namespace std;int main(){ double k; while (cin >> k) { stack
s; int cnt = 0; double x = 2 * k, y = 2 * k; while (x <= k*k + k) { for (y = x; y > 0; y--) /// 据说 会有精度损失?= =.... 这是枚举?.... // 多用算法的思想考虑问题..... //要枚举... 而不是自己找...让计算机帮你找,它不怕一个一个一个的找的 { if (x*y == k*x + k*y) { cnt++; s.push(y); s.push(x); //cout <<"1/"<
<< " = 1/" << x << " + 1/" << y << endl; x += 2;///什么时候有2,什么时候煤油???接班素养!!! continue; } } x += 2; } cout << cnt << endl; while (!s.empty()) { cout << "1/" << k << " = 1/" << s.top(); s.pop(); cout << " + 1/" <
<< endl; s.pop(); } } return 0;}

转载地址:http://amuti.baihongyu.com/

你可能感兴趣的文章
51nod 分类
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
性能扩展问题要趁早
查看>>
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
JSP的内置对象及方法
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Spring MVC和Struts2的比较
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>