• 文件名:[作业]
  • 作者:〈漆黑〉
  • 描述:〈 一根长度为M厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为每秒1厘米。当两只蚂蚁对撞时,二者同时掉头(掉头时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒后每只蚂蚁的位置。〉
  • 创建时间:2019.7.11
  • 未完善
/****************************
* 文件名:[作业]
* 作者:〈漆黑〉
* 描述:〈  一根长度为M厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为每秒1厘米。当两只蚂蚁对撞时,二者同时掉头(掉头时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒后每只蚂蚁的位置。〉
* 创建时间:2019.7.11
****************************/
#include <iostream>
using namespace std;int main(){int m, n, t, site;//m长度,n个数,t时间,site位置char direction;//方向cout << "请输入木棍长度(cm > 0):";cin >> m;int** ant = new int* [m + 1];for (int i = 0; i < m + 1; i++)ant[i] = new int[2];for (int i = 0; i < m + 1; i++) {for (int j = 0; j < 2; j++) {ant[i][j] = 0;}}cout << "请输入蚂蚁的数量:";cin >> n;for (int i = 0; i < n; i++) {cout << "请输入第" << i + 1 << "只蚂蚁的位置和朝向(l/r):";cin >> site >> direction;ant[site][0] = 1;if(direction == 'l') ant[site][1] = -1;//-1朝左,1朝右else if (direction == 'r') ant[site][1] = 1;}for (int i = 0; i < m + 1; i++) {//打印蚂蚁位置cout << ant[i][0] << "\t";}cout << endl;for (int i = 0; i < m + 1; i++) {//打印蚂蚁朝向cout << ant[i][1] << "\t";}cout << endl;cout << "请输入经过的时间:";cin >> t;for (int i = 0; i < t; i++) {//每秒的动作for (int j = 0; j < m + 1; j++) {//0-m厘米一共m+1个整点if (ant[j][0] == 1) {if (ant[j][1] == -1 && j == 0) ant[j][1] = 1;//最左边调头else if (ant[j][1] == 1 && j == m) ant[j][1] = -1;//最右边调头if (ant[j][1] == -1 && j > 0 && ant[j - 1][0] == 0) {//左移ant[j][0] = ant[j][1] = 0;ant[j - 1][0] = 1;ant[j - 1][1] = -1;}else if (ant[j][1] == 1 && j < m && ant[j + 1][0] == 0) {//右移ant[j][0] = ant[j][1] = 0;ant[j + 1][0] = 1;ant[j + 1][1] = 1;j++;}else if (ant[j][1] == 1 && j < m && ant[j + 1][0] == 1 && ant[j + 1][1] == -1) {//相撞,位置不变方向相反ant[j][1] = -1;ant[j + 1][1] = 1;j++;//下一个同时改变了跳过}}}}for (int i = 0; i < m + 1; i++) {//打印蚂蚁位置cout << ant[i][0] << "\t";}cout << endl;for (int i = 0; i < m + 1; i++) {//打印蚂蚁朝向cout << ant[i][1] << "\t";}cout << endl;n = 1;for (int i = 0; i < m + 1; i++) {if (ant[i][0] == 1) {cout << "第" << n << "只蚂蚁在" << i << "cm处" << endl;n++;}}
}

【题目】一根长度为M厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为每秒1厘米。当两只蚂蚁对撞时,二者同时掉头(掉头时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒后每只蚂蚁的位置相关推荐

  1. 1.1.5 蚂蚁。一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。

    蚂蚁 题目来源 :<算法竞赛入门经典--训练指南>/刘汝佳,陈锋编著 一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒.当两只蚂蚁相撞时,二者同时掉头( ...

  2. 木棍上的蚂蚁jolj2466 模拟法

    一根长度为C厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒.当两只蚂蚁相撞时,二者同时掉头(掉头时间忽略不计).给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂蚁的位置. 输 ...

  3. java秒转换为年月日_SimpleDateFormat将月/日/年 时分秒转换为年-月-日 时:分:秒

    String expirTime = "12 / 27 / 2018 12: 00: 00 AM"; SimpleDateFormat in = new SimpleDateFor ...

  4. 标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头

    标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒.当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行.这些蚂蚁中,有1只 ...

  5. 解决Excel 2010打开两个以上文件时,总只显示一个窗口

    用Excel 2010打开两个以上文件时,总只显示一个窗口. 解决方法,打开注册表编辑器,(点运行,输入regedit)定位到 HKEY_CLASSES_ROOT\Excel.Sheet.12\she ...

  6. 剑指offer_1:给你一根长度为n的绳子,把绳子剪成m段(m、n都是整数且m 1, n 1),m段绳子的长度依然是整数,求m段绳子的长度乘积最大为多少?  * 比如绳子长度为8,我们可以分成

    package Chap2;/**问题描述* 给你一根长度为n的绳子,把绳子剪成m段(m.n都是整数且m > 1, n > 1),m段绳子的长度依然是整数,求m段绳子的长度乘积最大为多少? ...

  7. [经典面试题][百度]数轴上从左到右有n各点a[0], a[1], ……,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。...

    题目 数轴上从左到右有n各点a[0], a[1], --,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点. 思路一 遍历所有区间跟绳子L比较. i遍历区间起点,j遍历区间终点. ...

  8. 打印时总跟出一页计算机主的纸,打印机只打印一页却重复不停打印的原因之一和解决方法...

    打印机只打印一页却重复不停打印的原因之一和解决方法 腾讯视频/爱奇艺/优酷/外卖 充值4折起 打印机和电脑配套使用时,会出现各种各样问题,就比如有时候设定只打印一页纸,打印机却重复在打印,今天小编以w ...

  9. 给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n1并且m1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如

    给你一根长度为n的绳子,请把绳子剪成m段(m.n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],-,k[m].请问k[0]xk[1]x-xk[m]可能的最大乘积是多少? ...

最新文章

  1. 漫画:垃圾男人分类图鉴
  2. 怎么解决tomcat占用8080端口问题图文教程
  3. tomcat如何将请求分发到servlet
  4. ID3决策树中连续值的处理+周志华《機器學習》图4.8和图4.10绘制
  5. rxjava 被观察者_RxJava:从未来到可观察
  6. java学习(70):GUL图形用户界面初识
  7. Linux下将mysql数据导入与导出
  8. 【小技巧】字符char与整型int的相互转换
  9. 用了十年的昵称badboy_怎样用5秒钟看清一对夫妻的真实感情状况?
  10. ios 开发日记 21 -自动处理键盘事件的第三方库:IQKeyboardManager
  11. python123蟒蛇代码_[蟒蛇菜谱] Python封装shell命令
  12. java 数组 null值_数组的元素String在java中包含null
  13. Log4j 2.x使用遇到的问题
  14. HDU 2602 Bone Collector 0/1背包
  15. access通过身份证号提取性别_从身份证号码中提取出生年月,性别等都不掌握,那就真的Out了...
  16. 2020-12-27
  17. java的小区车辆管理系统_基于Java的小区车辆信息管理系统的设计与实现
  18. 曼昆微观经济学+曼昆宏观经济学分册第七版笔记和课后习题详解答案
  19. 10大顶级运营商转型案例剖析
  20. Ogre – 材质脚本(三) (转)

热门文章

  1. 力天创见仓库客流管控方案
  2. 1082 Read Number in Chinese
  3. ResidualCoder
  4. 测试理论-测试用例设计 (一) --- 正交表分析法
  5. 网络聊天室(Java)
  6. R^n代表什么含义?
  7. 零束银河全栈技术解决方案之网络安全
  8. 分子动力学系综小结 (转)
  9. “好奇号”现在距离地球有多远?
  10. 4.3 将千克转换成磅