当前位置: 首页 > news >正文

网站图片优化工具起域名网站

网站图片优化工具,起域名网站,潍坊市建设监理协会网站,田园综合体建设网站E : 货币套汇#xff08;图路径#xff09; Description 套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币。例如#xff0c;假定1 美元可以买0.7 英镑#xff0c;1 英镑可以买9.5 法郎#xff0c;1法郎可以买到0.16美元。通过货币兑换图路径 Description 套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币。例如假定1 美元可以买0.7 英镑1 英镑可以买9.5 法郎1法郎可以买到0.16美元。通过货币兑换一个商人可以从1 美元开始买入得到0.7×9.5×0.161.064美元从而获得6.4%的利润。 给定n种货币c1 ,c2 ,… ,cn的有关兑换率试设计一个有效算法确定货币间是否存在套汇的可能性。 提示判断图上是否出现正环,即环上所有的边相乘大于1 Input 第一行测试数据组数 每组测试数据格式为 第一行正整数n (1 n 30)正整数m分别表示n种货币和m种不同的货币兑换率。 2~n1行n种货币的名称。 n2~nm1行每行有3 个数据项cirij 和cj 表示货币ci 和cj的兑换率为 rij。 Output 对每组测试数据如果存在套汇的可能则输出YES 如果不存在套汇的可能则输出NO。 Sample Input 2 3 3 USDollar BritishPound FrenchFranc USDollar 0.5 BritishPound BritishPound 10.0 FrenchFranc FrenchFranc 0.21 USDollar 3 6 USDollar BritishPound FrenchFranc USDollar 0.5 BritishPound USDollar 4.9 FrenchFranc BritishPound 10.0 FrenchFranc BritishPound 1.99 USDollar FrenchFranc 0.09 BritishPound FrenchFranc 0.19 USDollarOutput YES NO解题思路 这一道题就是在一个加权有向图中检测是否存在正权重环这里的关键是如何利用图论和弗洛伊德算法来解决这个问题。为什么能够使用Folyd算法呢这就要考虑到Folyd算法的作用**弗洛伊德算法能够计算图中所有顶点对之间的最短路径。在这个问题中我们将算法用于计算“最优”兑换路径即使得货币数量最大化的路径。**所以同样是求最优的用于正权重环同样可以适用。这一道题的注意点就是**不能互相兑换的货币的处理和自环的预处理。 AC代码 #include iostream #include string using namespace std;const double EPS 1e-7; // 表示非常小的数用于初始化没有直接兑换率的情况 int n, m;int getIndex(string arr, string message[]) {for (int i 0; i n; i)if (message[i] arr)return i; }void Folyd(double** data) {double** dist new double* [n];for (int i 0; i n; i) {dist[i] new double[n];for (int j 0; j n; j) {if (i j)dist[i][j] 1.0; // 自环设置为1elsedist[i][j] data[i][j] EPS ? data[i][j] : EPS;}}for (int k 0; k n; k)for (int i 0; i n; i)for (int j 0; j n; j)if (dist[i][j] dist[i][k] * dist[k][j])dist[i][j] dist[i][k] * dist[k][j];for (int i 0; i n; i) {if (dist[i][i] 1.0) {cout YES endl;// 释放内存for (int i 0; i n; i) {delete[] dist[i];}delete[] dist;return;}}cout NO endl;// 释放内存for (int i 0; i n; i) {delete[] dist[i];}delete[] dist; }int main() {string message[40];int t;cin t;while (t--) {cin n m;for (int i 0; i n; i)cin message[i];double** data new double* [n];for (int i 0; i n; i) {data[i] new double[n];for (int j 0; j n; j)data[i][j] (i j) ? 1.0 : EPS;}for (int i 0; i m; i) {string a, c;double b;cin a b c;data[getIndex(a, message)][getIndex(c, message)] b;}Folyd(data);// 释放内存for (int i 0; i n; i) {delete[] data[i];}delete[] data;}return 0; }
http://www.dnsts.com.cn/news/96149.html

相关文章:

  • 怎么把网站开发成crx济南网站优化
  • 长兴县建设管理网站html网页制作代码大全简易版
  • 宝塔面板怎么做自己的网站注册公司怎么查询
  • 盗版小说网站建设湛江企业网站建设流程
  • 怎样自己创造网站中国十大外贸上市公司排名
  • 网站改版的宣传词win主机怎样实现wordpress固定链接静态化
  • 做行业网站赚钱电子菜单小程序怎么做
  • 门户网站的运营有哪些出名的工业设计网站
  • 哪个网站是做安全教育h5科技 网站
  • 网站建设目标是什么市场营销策略分析
  • 什么网站免费做游戏网站怎么做登录界面
  • 西安哪里做网站常用来做网站首页
  • 网站建设与案例管理的心得体会如何编程软件
  • 现在还可以做夺宝网站施工企业管理协会
  • 如何建设一个工业品采购网站wordpress 找回密码邮件错误
  • 保定电子网站建设阜阳水建公司官网
  • 医院手机网站如何给网站备案
  • 京东网站建设框架图男女做暖昩视频试看网站
  • asp网站变成php网站负责人彩色验照
  • 贵港北京网站建设宁波制作网站企业有哪些
  • 网站建设咨询学校教育网站建设
  • 网站设计论文3000字江阴网页设计
  • 传奇类网页游戏广州网络营销十年乐云seo
  • 网站设计案例黑龙江网站开发公司
  • 南宁建站模板大全西安米德建站
  • 网站后台 批量上传软件开发外包平台
  • 许昌网站制作网站备案年审
  • 葫芦岛网站建设找思路wordpress页面里放j特效
  • 做网站用vs还是dwwordpress4.9.6 备案
  • wap网站开发工具wordpress 淘点金插件