Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
kindertei
0 / 0 / 1
Регистрация: 04.08.2016
Сообщений: 95
Завершенные тесты: 2
1

Сколько раз можно пройти по графу

01.11.2016, 14:41. Просмотров 156. Ответов 0
Метки нет (Все метки)

Надо дойти из точки S в точку D. То есть из левой крайней точки в правую. Каждый раз проходя граф, уменьшаем его на 1. Если граф равен 0 по нему идти нельзя. Сосчитать сколько раз можно пройти по графу.
Не понимаю почему не работает. в текстбоксы вводим "стоимость" графов.
Есть более верный алгоритм решения?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
private void button1_Click(object sender, EventArgs e)
        {
            int a = 0;//Сколько раз прошли
 
            //первый путь
            while (int.Parse(textBox1.Text) != 0)
            {
                while (int.Parse(textBox3.Text) != 0)
                {
                    while (int.Parse(textBox4.Text) != 0)
                    {
                        while (int.Parse(textBox8.Text) != 0)
                        {
                            a++;
                            textBox1.Text = (int.Parse(textBox1.Text) - 1).ToString();
                            textBox3.Text = (int.Parse(textBox3.Text) - 1).ToString();
                            textBox4.Text = (int.Parse(textBox4.Text) - 1).ToString();
                            textBox8.Text = (int.Parse(textBox8.Text) - 1).ToString();
                        }
                    }
                }
            }
            //Конец первого пути
            //второй путь
            while (int.Parse(textBox12.Text) != 0) { 
               
            while (int.Parse(textBox11.Text) != 0)
            {
                while (int.Parse(textBox3.Text) != 0)
                {
                    while (int.Parse(textBox4.Text) != 0)
                    {
                        while (int.Parse(textBox8.Text) != 0)
                        {
                            a++;
                            textBox11.Text = (int.Parse(textBox11.Text) - 1).ToString();
                            textBox12.Text = (int.Parse(textBox12.Text) - 1).ToString();
                            textBox3.Text = (int.Parse(textBox3.Text) - 1).ToString();
                            textBox4.Text = (int.Parse(textBox4.Text) - 1).ToString();
                            textBox8.Text = (int.Parse(textBox8.Text) - 1).ToString();
                        }
                    }
                }
              }
             }
            //Конец второго пути
 
 
            //Третий путь
            while (int.Parse(textBox12.Text) != 0)
            {
                while (int.Parse(textBox2.Text) != 0)
                {
                    while (int.Parse(textBox4.Text) != 0)
                    {
                        while (int.Parse(textBox8.Text) != 0)
                        {
                            a++;
                            textBox12.Text = (int.Parse(textBox12.Text) - 1).ToString();
                            textBox2.Text = (int.Parse(textBox2.Text) - 1).ToString();
                            textBox4.Text = (int.Parse(textBox4.Text) - 1).ToString();
                            textBox8.Text = (int.Parse(textBox8.Text) - 1).ToString();
                        }
                    }
                }
            }
            //Конец третьего пути
            //четвертый путь
            while (int.Parse(textBox12.Text) != 0)
            {
 
                while (int.Parse(textBox2.Text) != 0)
                {
                    while (int.Parse(textBox13.Text) != 0)
                    {
                        while (int.Parse(textBox5.Text) != 0)
                        {
                            while (int.Parse(textBox8.Text) != 0)
                            {
                                a++;
                                textBox12.Text = (int.Parse(textBox12.Text) - 1).ToString();
                                textBox2.Text = (int.Parse(textBox2.Text) - 1).ToString();
                                textBox13.Text = (int.Parse(textBox13.Text) - 1).ToString();
                                textBox5.Text = (int.Parse(textBox5.Text) - 1).ToString();
                                textBox8.Text = (int.Parse(textBox8.Text) - 1).ToString();
                            }
                        }
                    }
                }
            }
            //Конец четвертогого пути
 
            
            //Начало пятого пути
            while (int.Parse(textBox12.Text) != 0)
            {
                while (int.Parse(textBox9.Text) != 0)
                {
                    while (int.Parse(textBox5.Text) != 0)
                    {
                        while (int.Parse(textBox8.Text) != 0)
                        {
                            a++;
                            textBox12.Text = (int.Parse(textBox12.Text) - 1).ToString();
                            textBox9.Text = (int.Parse(textBox9.Text) - 1).ToString();
                            textBox5.Text = (int.Parse(textBox5.Text) - 1).ToString();
                            textBox8.Text = (int.Parse(textBox8.Text) - 1).ToString();
                        }
                    }
                }
            }
            //Конец пятого пути
            //шестой путь
            while (int.Parse(textBox12.Text) != 0)
            {
 
                while (int.Parse(textBox10.Text) != 0)
                {
                    while (int.Parse(textBox6.Text) != 0)
                    {
                        while (int.Parse(textBox8.Text) != 0)
                        {
                            
                                a++;
                                textBox10.Text = (int.Parse(textBox10.Text) - 1).ToString();
                                textBox12.Text = (int.Parse(textBox12.Text) - 1).ToString();
                                textBox6.Text = (int.Parse(textBox6.Text) - 1).ToString();
                                textBox8.Text = (int.Parse(textBox8.Text) - 1).ToString();
                                
                            
                        }
                    }
                }
            }
            //Конец шестого пути
 
            //Начало седьмого пути
            while (int.Parse(textBox12.Text) != 0)
            {
                while (int.Parse(textBox10.Text) != 0)
                {
                    while (int.Parse(textBox4.Text) != 0)
                    {
                        textBox10.Text = (int.Parse(textBox10.Text) - 1).ToString();
                        textBox12.Text = (int.Parse(textBox12.Text) - 1).ToString();
                        textBox4.Text = (int.Parse(textBox4.Text) - 1).ToString();
                        a++;
 
                    }
                }
            }
            textBox14.Text=(a).ToString();
Добавлено через 12 часов 10 минут
Сделала вот так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 private void button1_Click(object sender, EventArgs e)
        {
            int XXX = int.Parse(textBox14.Text);//чисто не забыть
 
            int a = int.Parse(textBox1.Text),
                b = int.Parse(textBox3.Text),
                c = int.Parse(textBox4.Text),
                d = int.Parse(textBox8.Text),
                w = int.Parse(textBox12.Text),
                g = int.Parse(textBox11.Text),
                f = int.Parse(textBox2.Text),
                l = int.Parse(textBox9.Text),
                m = int.Parse(textBox10.Text),
                k = int.Parse(textBox5.Text),
                u = int.Parse(textBox13.Text),
                v = int.Parse(textBox10.Text),
                z = int.Parse(textBox7.Text);
            
            while (a>0 && b>0 && c>0 && d>0)
            {
                XXX++;
                a--;
                b--;
                c--;
                d--;
            }
            while (w>0 && b>0 && c > 0 && d > 0)
            {
                XXX++;
                w--;
                b--;
                c--;
                d--;
            }
            while (w > 0 && f > 0 && c > 0 && d > 0)
            {
                XXX++;
                w--;
                f--;
                c--;
                d--;
            }
            while (w > 0 && f > 0 && u > 0 && k > 0 && d > 0)
            {
                XXX++;
                f--;
                w--;
                u--;
                k--;
                d--;
            }
            while (w > 0 && l > 0 && k > 0 && d > 0)
            {
                XXX++;
                w--;
                l--;
                k--;
                d--;
            }
            while (w > 0 && m > 0 && v > 0 && d > 0)
            {
                XXX++;
                w--;
                m--;
                v--;
                d--;
            }
            while (w > 0 && m > 0 && z > 0)
            {
                XXX++;
                w--;
                m--;
                z--;
 
            }
            textBox14.Text=(XXX).ToString();//чисто не забыть   
 
 
        }
    }
Теперь всё работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2016, 14:41
Ответы с готовыми решениями:

Сколько раз нажимаем на кнопку, столько раз выходит картинка
Как реализовать действие: сколько раз нажимаем на кнопку,столько раз выходит картинка. C#

Сколько раз встречается слово в тексте
Необходимо понять сколько раз введенное слово встречается в тексте. Также слова должны состоять из...

Сколько всего раз была нажата кнопка
Здравствуйте! У меня следующий вопрос. Мне необходимо посчитать сколько всего раз была нажата...

Как посчитать сколько раз запустиили программу?
как можно почитать сколько раз программу открыли желательно считать через ftp

Как подсчитать сколько раз выполнился цикл
Здравствуйте друзья public void StartPing() { Ping...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2016, 14:41

Определить, сколько раз в строке встречается заданное слово
Работа в Form1 Надо объяснить каждый шаг в коде // Первый код string text; ...

Определить, какие символы и сколько раз встречаются в строке
Дана строка. Определить, какие символы и сколько раз встречаются в данной строке. Помогите...

Определить, сколько раз меняется знак в данной последовательности чисел
Добрый день пишу программку Задан массив действительных чисел. Определить, сколько раз меняется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru