【题目】一根长度为M厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为每秒1厘米。当两只蚂蚁对撞时,二者同时掉头(掉头时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒后每只蚂蚁的位置
- 文件名:[作业]
- 作者:〈漆黑〉
- 描述:〈 一根长度为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.5 蚂蚁。一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。
蚂蚁 题目来源 :<算法竞赛入门经典--训练指南>/刘汝佳,陈锋编著 一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒.当两只蚂蚁相撞时,二者同时掉头( ...
- 木棍上的蚂蚁jolj2466 模拟法
一根长度为C厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒.当两只蚂蚁相撞时,二者同时掉头(掉头时间忽略不计).给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂蚁的位置. 输 ...
- java秒转换为年月日_SimpleDateFormat将月/日/年 时分秒转换为年-月-日 时:分:秒
String expirTime = "12 / 27 / 2018 12: 00: 00 AM"; SimpleDateFormat in = new SimpleDateFor ...
- 标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头
标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒.当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行.这些蚂蚁中,有1只 ...
- 解决Excel 2010打开两个以上文件时,总只显示一个窗口
用Excel 2010打开两个以上文件时,总只显示一个窗口. 解决方法,打开注册表编辑器,(点运行,输入regedit)定位到 HKEY_CLASSES_ROOT\Excel.Sheet.12\she ...
- 剑指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段绳子的长度乘积最大为多少? ...
- [经典面试题][百度]数轴上从左到右有n各点a[0], a[1], ……,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。...
题目 数轴上从左到右有n各点a[0], a[1], --,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点. 思路一 遍历所有区间跟绳子L比较. i遍历区间起点,j遍历区间终点. ...
- 打印时总跟出一页计算机主的纸,打印机只打印一页却重复不停打印的原因之一和解决方法...
打印机只打印一页却重复不停打印的原因之一和解决方法 腾讯视频/爱奇艺/优酷/外卖 充值4折起 打印机和电脑配套使用时,会出现各种各样问题,就比如有时候设定只打印一页纸,打印机却重复在打印,今天小编以w ...
- 给你一根长度为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]可能的最大乘积是多少? ...
最新文章
- 漫画:垃圾男人分类图鉴
- 怎么解决tomcat占用8080端口问题图文教程
- tomcat如何将请求分发到servlet
- ID3决策树中连续值的处理+周志华《機器學習》图4.8和图4.10绘制
- rxjava 被观察者_RxJava:从未来到可观察
- java学习(70):GUL图形用户界面初识
- Linux下将mysql数据导入与导出
- 【小技巧】字符char与整型int的相互转换
- 用了十年的昵称badboy_怎样用5秒钟看清一对夫妻的真实感情状况?
- ios 开发日记 21 -自动处理键盘事件的第三方库:IQKeyboardManager
- python123蟒蛇代码_[蟒蛇菜谱] Python封装shell命令
- java 数组 null值_数组的元素String在java中包含null
- Log4j 2.x使用遇到的问题
- HDU 2602 Bone Collector 0/1背包
- access通过身份证号提取性别_从身份证号码中提取出生年月,性别等都不掌握,那就真的Out了...
- 2020-12-27
- java的小区车辆管理系统_基于Java的小区车辆信息管理系统的设计与实现
- 曼昆微观经济学+曼昆宏观经济学分册第七版笔记和课后习题详解答案
- 10大顶级运营商转型案例剖析
- Ogre – 材质脚本(三) (转)