资源简介
某企业面试编程题:蚂蚁爬杆
有一根300厘米的细木杆,在第30厘米、80厘米、110厘米、160厘米、250厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过两只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝相反方向走。假设蚂蚁们每秒钟可以走5厘米的距离。请编写一个程序,计算各种可能情形下所有蚂蚁都离开木杆的最小时间和最大时间。
如题目的图形界面解决方法~c#表达~
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace ANTS
{
public partial class Form1 : Form
{
ants[] ant = new ants[32];
int xBegin = 30 yBegin = 20;
int minTime = 0 maxTime = 0;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender EventArgs e)
{
initializateAnts();
for (int i = 0; i < 32;i++ ) showAnts(ant[i] xBegin + i % 2 * 340 yBegin + i / 2 * 20);
}
private void button2_Click(object sender EventArgs e)
{
progress();
showResult();
}
void initializateAnts()
{
int[] num = new int[5];//32diferent direction
int i1;
for (int i = 0; i < 32; i++)
{
i1 = i;
for (int j = 0; j < 5; j++)
{
num[j] = i1 % 2;
if (num[j] == 0) num[j] = -1;
i1 /= 2;
}
ant[i] = new ants(num[0] num[1] num[2] num[3] num[4]);
}
}//初始化32个蚂蚁通过0-32的二位数字初始化方向
void showAnts(ants antint xint y)
{
Graphics barGra = this.CreateGraphics();
Pen BarPen = new Pen(Color.BurlyWood 10);
barGra.DrawLine(BarPen x-6 y x + 300 + 6 y);//-2+2 CHANGE!!
Graphics antGra = this.CreateGraphics();
Pen antPenLeft = new Pen(Color.Black 2);//CHANGE!!
Pen antPenRight = new Pen(Color.White 2);
for (int i = 0; i < 5;i++ )//画2种方向的蚂蚁
{
if (ant.dir[i] == 1) antGra.DrawRectangle(antPenLeft x + ant.pla[i] y - 1 2 2);
if (ant.dir[i] == -1) antGra.DrawRectangle(antPenRight x + ant.pla[i] y - 1 2 2);
}
Pen meetPen = new Pen(Color.Red 2);//(float)1.5);
for (int i = 0; i < 5; i++)//画碰撞时的爆炸
{
for (int j = i+1; j < 5; j++)
{
if (ant.pla[i] == ant.pla[j]&&ant.pla[i]>10&&ant.pla[i]<290)
antGra.DrawEllipse(meetPen x + ant.pla[i]-2 y - 3 8 6);
}
}
}//显示每个bar
void progress()//蚂蚁移动 延时 及获取minTime、maxTime
{
int gameOver = 1;
int minTimeGot = 0;
int waitTime;
while (gameOver > 0)
{
gameOver = 0;
for (int i = 0; i < 32; i++)
{
ant[i].move();
if (ant[i].alldroped() == true) gameOver++;
showAnts(ant[i] xBegin + i %
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12800 2008-10-13 09:12 bin\Debug\ANTS.exe
文件 32256 2008-10-13 09:12 bin\Debug\ANTS.pdb
文件 14328 2008-10-13 09:41 bin\Debug\ANTS.vshost.exe
文件 490 2007-07-21 01:33 bin\Debug\ANTS.vshost.exe.manifest
文件 247 2008-10-01 17:26 obj\ANTS.csproj.FileList.txt
文件 1318 2008-10-13 09:41 obj\Debug\ANTS.csproj.FileListAbsolute.txt
文件 847 2008-10-13 09:12 obj\Debug\ANTS.csproj.GenerateResource.Cache
文件 12800 2008-10-13 09:12 obj\Debug\ANTS.exe
文件 180 2008-10-13 09:12 obj\Debug\ANTS.Form1.resources
文件 32256 2008-10-13 09:12 obj\Debug\ANTS.pdb
文件 180 2008-10-07 12:21 obj\Debug\ANTS.Properties.Resources.resources
文件 4608 2008-10-12 09:19 obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 1180 2008-09-29 18:59 Properties\AssemblyInfo.cs
文件 2832 2008-10-07 12:21 Properties\Resources.Designer.cs
文件 5612 2008-09-29 18:59 Properties\Resources.resx
文件 1102 2008-10-07 12:21 Properties\Settings.Designer.cs
文件 249 2008-09-29 18:59 Properties\Settings.settings
文件 3464 2008-10-07 12:21 ANTS.csproj
文件 2560 2008-10-13 09:13 ANTS.suo
文件 1 2008-10-01 17:10 ClassDiagram1.cd
文件 7467 2008-10-13 09:12 Form1.cs
文件 7591 2008-10-13 09:12 Form1.Designer.cs
文件 5814 2008-10-13 09:12 Form1.resx
文件 463 2008-09-29 18:59 Program.cs
目录 0 2008-10-13 14:51 obj\Debug\Refactor
目录 0 2008-10-13 14:51 obj\Debug\TempPE
目录 0 2008-10-13 14:51 bin\Debug
目录 0 2008-10-13 14:51 obj\Debug
目录 0 2008-10-13 14:51 bin
目录 0 2008-10-13 14:51 obj
............此处省略4个文件信息
- 上一篇:C#远程控制软件TwoCare完美无错源代码
- 下一篇:航空管理系统 asp.net
相关资源
- C#远程控制软件TwoCare完美无错源代码
- 海康sdkC#封装及调用
- 华视CVR100开发SDK说明+C#案例.rar
- 类似如鲁大师一样的一款系统优化的
- c# 生成 bt种子 文件 bt 源码
- ASP.NET网上购物商城系统(源码)
- c# 棋牌游戏源码c# 棋牌游戏源码
- 基于c#.net平台的21点游戏
- dwg文件预览
- C#网站C#网站C#网站C#网站C#网站C#网站
- C#语音朗读DLL测试源码[成熟代码可直
- 网上选课系统 网页版 C# 开发 asp.net
- 俄罗斯方块外挂代码C#
- C#自定义可限制输入、可验证信息的
- 验证码生成组件支持干扰点和干扰线
-
Pro C# 5.0 and the .NET 4.5 fr
amework - C#中二维码实现源代码修正版
- C#调用Lucene方法-实现快速搜索
- c#酒店管理系统235697
- C#课设音乐播放器完整代码加论文
- c#影院系统大作业,班评第一名
- MyMusicBoxc#音乐播放器
- C#入门经典(第5版)中文高清版含代
- Unity2D小游戏——炸弹人类似qq堂的小
- 精伦台式具名身份证阅读器机具C#源代
- C# C/s项目源码
- visual C#2005 管理系统开发经典案例 罗
- C# 实现局域网视频监控Socket 编程
- C#版24点扑克游戏源代码
- Visual Studio C#播放器制作
评论
共有 条评论