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

在线开发培训网站建设网站建设公司如何找客户

在线开发培训网站建设,网站建设公司如何找客户,网站建设公司擅自关闭客户网络,企业网站效果图羊、狼、农夫过河 题目描述 羊、狼、农夫都在岸边#xff0c;当羊的数量小于狼的数量时#xff0c;狼会攻击羊#xff0c;农夫则会损失羊。农夫有一艘容量固定的船#xff0c;能够承载固定数量的动物。 要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。只计算…羊、狼、农夫过河 题目描述 羊、狼、农夫都在岸边当羊的数量小于狼的数量时狼会攻击羊农夫则会损失羊。农夫有一艘容量固定的船能够承载固定数量的动物。 要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。只计算农夫去对岸的次数回程时农夫不会运送羊和狼。 备注农夫在或农夫离开后羊的数量大于狼的数量时狼不会攻击羊。 输入描述 第一行输入为MNX 分别代表羊的数量狼的数量小船的容量。 输出描述 输出不损失羊情况下将全部羊和狼运到对岸需要的最小次数若无法满足条件则输出0。 输入5 3 3输出3说明 第一次运2只狼 第二次运3只羊 第三次运2只羊和1只狼 输入5 4 1输出0说明如果找不到不损失羊的运送方案输出0 源码和解析 解析 确保两岸的羊无论何时都不能出现羊的数量小于等于狼的数量即羊的数量-狼的数量1可以按分组的形式每次运输一个动物从而得到一个可能存在的单个顺序记录 例如20只羊 8只狼 船容量为5 [g, g, g, g, g, g, g, g, g, g, g, w, g, w, g, w, g, w, g, w, g, w, g, w, g, w, g, g]将2中得到的顺序按船容量进行合并 3.1 确保每次运输尽可能多的带动物 3.2 若带5个过去可能出现本岸或对岸狼吃羊的情况那么就得少带 3.3 使用双指针进行合并 示例代码 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;public class T34 {public static void main(String[] args) {String input 20 8 5;int ghostNumber Integer.parseInt(input.split( )[0]);int wolfNumber Integer.parseInt(input.split( )[1]);int shipCapacity Integer.parseInt(input.split( )[2]);ListString shifLog new ArrayListString();// 转移记录 每次转移一个while (ghostNumber wolfNumber 0) {// 羊或者狼还没运输完 运输时优先确保对岸的羊不比狼少 而本岸的则确保羊比狼多一个即可 由于是单次运输 所以对岸的羊可能会和狼一样多if (ghostNumber - wolfNumber 1) {// 运输一个羊ghostNumber--;shifLog.add(g);continue;}if (wolfNumber 0) {// 否则运输狼wolfNumber--;shifLog.add(w);} else {// 只剩一个羊ghostNumber--;shifLog.add(g);}}System.out.println(shifLog);// 来检测单个运输过程 是否可以合并为一次的 求出最小运输次数MapString, Integer map new HashMapString, Integer();map.put(g, 0);map.put(w, 0);int count 0; // 运输了几次int left 0;int right shipCapacity;// 第一次运算wolfNumber Integer.parseInt(input.split( )[1]);shipCapacity Integer.parseInt(input.split( )[2]);if (left right - 1 ghostNumber - wolfNumber wolfNumber) {// 船容量是1 且羊的数量不是狼的2倍 那么这样是不可能移动成功的System.out.println(0);System.exit(0);}while (left shifLog.size()) {int wN 0;int gN 0;int onceCount 0;for (int i 0; i right - left; i) {if (left i shifLog.size()) {break;}onceCount;if (shifLog.get(left i).equals(w)) {wN;} else {gN;}}if (map.get(g) gN map.get(w) wN) {count;map.put(g, map.get(g) gN);map.put(w, map.get(w) wN);left onceCount;right shipCapacity;// 这是一次有效的运输 指针右移到下一次System.out.println(第 count 次有效运输运输的羊和狼为 gN : wN);} else {right--;}}System.out.println(count);} } 上述代码的执行过程如下图
http://www.hkea.cn/news/14313821/

相关文章:

  • 河北网站建设开发微信小程序双人游戏情侣
  • 网站建设哪些模板号开平建设局网站
  • 在哪找做调查赚钱的网站wordpress主题导出
  • 手机网站开发方案工信部网站手机备案查询
  • 学习aspmvc网站开发 书网络推广方式主要有
  • 东莞快速做网站什么信息发布型网站
  • 昆明营销型网站建设平面ui设计是学什么
  • 普升高端品牌网站建设圣诞树html网页代码
  • 免费网站建设公司设计网站公司咨询亿企邦
  • 做网站优化选阿里巴巴还是百度全国企业公示信息系统查询
  • 网站平台建设总结企业网站做的公司
  • 深圳外贸建站网络推广联客易门户网站开发过程
  • 哪个网站专门做游戏脚本有赞分销
  • 在哪一个网站上做劳务合同备案济南网站建设内容
  • 网站建设开发客户开场白百度一下百度首页
  • 公司seo推广营销网站商会网站制作
  • 如何制作动漫网站模板下载创造网站需要什么条件
  • 360免费建站系统域名过期做的网站怎么办
  • wordpress信用卡支付网站制作公司都找乐云seo
  • 网站首页图片效果盘锦网站开发公司
  • 学校网站群建设uc浏览器关键词排名优化
  • 东莞网站推广教程莱芜金点子最新招聘信息港
  • gta5买房网站正在建设门户网站开发技术
  • 网站里可以增加网址吗wordpress默认文本编辑器
  • 泰州网站建设费用韩国导航地图app
  • 网页模板哪个网站可以下载网页界面设计的特点是什么
  • thinkphp租房网站开发集团公司网站设计
  • 网站建设需要注意哪些问题网站建设皿金手指谷哥壹柒
  • 制作网页和网站的区别化学试剂网站建设
  • 国外空间怎么上传网站如何制作网址内容