教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

07年B题最优公交线路问题(10)

来源:网络收集 时间:2026-04-01
导读: 附录:(注:所有程序均使用Microsoft Visual Studio 2005 C#语言编写) 程序一(第一题优化转乘次数程序): using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; us

附录:(注:所有程序均使用Microsoft Visual Studio 2005 C#语言编写) 程序一(第一题优化转乘次数程序):

using System; using System.IO;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;

using System.Windows.Forms; using System.Globalization; using System.Collections;

using System.Windows.Forms.Design;

namespace model {

public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

public struct line {

public char price; public char direct; public int[,] stop; }

public static int count = 0, goal = 2, money = 99, distance = 9999; public static int[] route = new int[10];

public static int[,] mon = new int[3958, 3958];

public void loop(int x, int y) {

distance = 9999;

if (dis[x, y] < distance) {

distance = dis[x, y]; goal = count;

31

}

count++;

if (count > 2) {

count --; return; }

for (int i = 1; i < 3958; i++) {

if (dis[x, i] + dis[i, y] + 10 < distance) {

distance = dis[x, i] + dis[i, y] + 10; route[count] = i; goal = count; } }

count++;

if (count > 2) {

count -= 2; return; }

for (int i = 1; i < 3958; i++) {

for (int j = 1; j < 3958; j++) {

if (dis[x, i] != 9999 && dis[j, y] != 9999 && i != j) {

if (dis[x, i] + dis[j, y] + 20 + dis[i,j] < distance) {

distance = dis[x, i] + dis[j, y] + 20 + dis[i,j]; route[count] = i; route[count + 1] = j; goal = count; } } }

32

}

count -= 2; return; }

private void Form1_Load(object sender, EventArgs e) {

FileStream info = new FileStream(\竞赛\\\\info.txt\FileAccess.ReadWrite),

infor = new FileStream(\竞赛\\\\infor.txt\FileMode.Open, FileAccess.ReadWrite);

StreamReader sr = new StreamReader(infor);

int flag = 0;

string a = string.Empty; line[] city = new line[521];

a = sr.ReadToEnd(); sr.Close(); infor.Close();

for (int i = 0, j = 0, h = 0, k = 0; i < a.Length; i++) {

switch (flag) {

case 0: {

if (a[i] == 'S') {

city[j].stop[k, h] = Convert.ToInt32(a.Substring(i + 1, 4));

h++; }

else if (a[i] == 'D') {

k = 1; h = 0; flag = 0; }

else if (a[i] == 'L') {

if (k == 0)

33

{

if (city[j].direct == 'S')

for (int scan = 0; scan < h; scan++) {

07年B题最优公交线路问题(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/521113.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)