j3jun1 2015-01-04 04:48 采纳率: 100%
浏览 2422
已采纳

一个关于无向图遍历的问题

输入一些二元组,每个表示两个节点之间有一条通路。再输入一个顶点,一个终点,求出一共有多少种走法(不包括回路)。用C#或者Java实现

  • 写回答

7条回答 默认 最新

  • threenewbee 2015-01-04 05:12
    关注

    来个田字格的

     using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string input1 = @"a,b
    b,c
    a,d
    b,e
    c,f
    d,e
    e,f
    d,g
    e,h
    f,i
    g,h
    h,i";
                foreach (var item in Solve(input1, "", "a", "i"))
                    Console.WriteLine(item);
            }
    
            static IEnumerable<string> Solve(string input, string prepath, string start, string end)
            {
                if (start == end)
                {
                    yield return prepath + end;
                    yield break;
                }
                var query = input.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)
                    .Select(x => x.Split(',')[0] + x.Split(',')[1]).Where(x => x.Contains(start) && !prepath.Contains(x.Replace(start, "")));
                foreach (var item in query)
                { 
                    foreach (var item1 in Solve(input, prepath + start, item.Replace(start, ""), end))
                        yield return item1;
                }
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler