我想知道,如果Dijkstra算法在无向图中有多个直接连接时能够正常工作.
例如:
我想用Dijkstra找到最快的路径,但还有另外一个条件.边上的所有additional_data的总和不能是> = x.因此,如果它出现了重量:3的边缘使用错误,我的程序将尝试第二个边缘.
编辑:我的任务是找到最快的路径,在additional_data
边缘的总和不能高于x 的附加条件下.你能告诉我如何处理这个问题吗?
edit2 :(设置赏金)
我一直在研究互联网,直到我发现这个链接.有关如何做我要求的事情的解释.(中上层 acapite)
我试图以某种方式使用它2天,但我担心我不能正确理解这个算法.我想请你们中的一些人帮助我解决这个问题,向我解释一些例子(几个第一步).这是一个例子:
我发现很少有关于我的问题的问题,但我仍然不能自己解决这个问题,所以我会试着在这里问一下.我会粘贴代码,所以我认为它会更容易解释.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Thread thread = new Thread(new ThreadStart(StartCalculation));
thread.Start();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void StartCalculation()
{
List<int> numbers = new List<int>();
for (int i = 0; i <= 100; i++)
{
numbers.Add(i);
string textForLabel = i.ToString();
label.SafeInvoke(d => d.Text = textForLabel);
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑Groo-/ -
public partial class Form1 : Form
{
List<int> list = new List<int>(); // list of int …
Run Code Online (Sandbox Code Playgroud) 我一直试图找到解决我的问题超过一个星期的时间,我找不到任何比一个百万迭代编程更好的东西,所以我认为是时候请别人帮助我了.
我有一个3D阵列.让我们说,我们谈的是地面,第一层是一个表面.另一层是地下的地板.我必须找到最深的路径长度,地下孤立洞穴的数量和最大洞穴的大小.
这是我的问题的可视化.
Input:
5 5 5 // x, y, z
xxxxx
oxxxx
xxxxx
xoxxo
ooxxx
xxxxx
xxoxx
and so...
Run Code Online (Sandbox Code Playgroud)
Output:
5 // deepest path - starting from the surface
22 // size of the biggest cave
3 // number of izolated caves (red ones) (izolated - cave that doesn't reach the surface)
Run Code Online (Sandbox Code Playgroud)
请注意,即使二楼的红色电池放在绿色的旁边,它也不是同一个洞穴,因为它是对角放置的,不计算在内.我被告知最好的方法,可能是使用递归算法"划分和规则",但我真的不知道它是怎么样的.
我想知道获得进程窗口位置的方式.我一直在网上寻找,但没有结果.谢谢 :)
Process[] processes = Process.GetProcessesByName("notepad");
Process lol = processes[0];
IntPtr p = lol.MainWindowHandle;
Run Code Online (Sandbox Code Playgroud) 这是一个例子(计算黑色):
输入:
输出:
5 4 // 5 groups (4 squares each)
1 1 // 1 group containing 1 square
Run Code Online (Sandbox Code Playgroud)
对于现在,我想不出什么比迭代的痛苦更好.是否有可能以递归的方式获得这些组?谢谢
我为linux做了一个简单的shell.它与getline()逐行读取,直到ctrl + d(eof/-1)进入标准输入.
在进入stdin时,逐行代码:
ls -al &
ls -a -l
Run Code Online (Sandbox Code Playgroud)
我的shell工作得很好.
我试图通过我的shell运行脚本,但它不起作用.当我执行脚本时,我的shell会自动执行(第1行),但shell不会解释其他行.
#!/home/arbuz/Patryk/projekt/a.out
ls -al &
ls -a -l
Run Code Online (Sandbox Code Playgroud)
什么可能导致它?我不得不说我是linux的初学者而老师并没有对所有这些东西说什么.只是一个功课.我已经完成了一些研究,但这些都是我发现的.
这是我的Shell的代码.我已经将shell路径添加到etc/shells中,但它仍然无效
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdbool.h>
int main()
{
ssize_t bufer_size = 0;
char* line = NULL;
int line_size;
while ((line_size = getline(&line, &bufer_size, stdin)) != -1) // while end of file
{
char** words_array;
words_array = (char**)malloc(200 * sizeof(char*));
int words_count = 0;
int i;
int j = 0;
int words_length = 0;
char …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现框架文本(使用Windows窗体),例如:
高度始终相同,因为我的字符串少于20个字符.宽度怎么样?有没有办法自动获得它?
我想知道是否有一种方法来创建GUI程序,使用main()函数(就像在控制台应用程序中一样),所以我在main()中创建所有对象,我可以从另一个访问/更改它与按钮/文本框等连接的功能甚至可能吗?,p
请理解我是GUI的初学者,我正在谈论的事情可能很有趣但仍然,我想学习!谢谢 :)
我有照亮照片的问题.我知道我可以通过增加/减少像素的值来做到这一点,但这不是我想要的.我被告知有一种方法不需要迭代所有像素,而且速度要快得多.这该怎么做?谢谢.