С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
1
.NET 4.x

У героя уходит |y2-y1| единиц энергии, где y1 и y2 – высоты, на которых расположены эти платформы

13.01.2019, 01:50. Показов 1332. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
using System;
using System.Collections.Generic;
 
private int abc(int a)
 
{
 
 if (a > 0)
 {
 
 return a;
 }
 
 
return a = -1;
 
}
 
 
 
static int Main()
 
{
 
 int n;
 
 n = int.Parse(ConsoleInput.ReadToWhiteSpace(true));
 
 List<int> d = new List<int>(n + 1);
 
 
 
 for (int i = 1;i <= n;i++)
 
 {
 
 d[i] = int.Parse(ConsoleInput.ReadToWhiteSpace(true));
 
 
 }
 
 List<int> b = new List<int>(n + 1);
 
 b[1] = d[1];
 
 b[2] = abc(d[2] - d[1]);
 
 
 
 
 
    for (int i = 3;i <= n;i++)
 
    {
 
       int a = abc(d[i] - d[i - 1]);
 
       int z = abc(3 * (d[i] - d[i - 2]));
 
       a = a + b[i - 1];
 
       z = z + b[i - 2];
 
       b[i] = Math.Min(a,z);
 
 
if (i == 3 && b[i] == z)
 
{
 
 b[i] -= d[i - 2];
 
}
 
    }
 Console.Write(b[n]);
 Console.Write("\n");
}
internal static class ConsoleInput
{
    private static bool goodLastRead = false;
    public static bool LastReadWasGood
    {
        get
        {
            return goodLastRead;
        }
    }
 
    public static string ReadToWhiteSpace(bool skipLeadingWhiteSpace)
    {
        string input = "";
 
        char nextChar;
        while (char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
        {
            
            if (!skipLeadingWhiteSpace)
                input += nextChar;
        }
    
        input += nextChar;
 
        while (!char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
        {
            input += nextChar;
        }
 
        goodLastRead = input.Length > 0;
        return input;
    }
 
    public static string ScanfRead(string unwantedSequence = null, int maxFieldLength = -1)
    {
        string input = "";
 
        char nextChar;
        if (unwantedSequence != null)
        {
            nextChar = '\0';
            for (int charIndex = 0; charIndex < unwantedSequence.Length; charIndex++)
            {
                if (char.IsWhiteSpace(unwantedSequence[charIndex]))
                {
                    //ignore all subsequent white space:
                    while (char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
                    {
                    }
                }
                else
                {
                    nextChar = (char)System.Console.Read();
                    if (nextChar != unwantedSequence[charIndex])
                        return null;
                }
            }
 
            input = nextChar.ToString();
            if (maxFieldLength == 1)
                return input;
        }
 
        while (!char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
        {
            input += nextChar;
            if (maxFieldLength == input.Length)
                return input;
        }
 
        return input;
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.01.2019, 01:50
Ответы с готовыми решениями:

У героя уходит |y2-y1| единиц энергии, где y1 и y2 – высоты, на которых расположены эти платформы
Условие: У героя уходит |y2-y1| единиц энергии, где y1 и y2 – высоты, на которых расположены эти платформы. Кроме того, у героя есть...

Пересечение героя и платформы на основе расчета параметров прямоугольников
Ситуация такова. Есть платформа. Есть анимированый спрайт, который изначально появляется выше платформы (столкновений между ними нет). Есть...


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

Или воспользуйтесь поиском по форуму:
5
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
13.01.2019, 16:47  [ТС] 2
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
using System;
 
static void Main()
{
    int n; //Col-vo platform
    Console.Write("Vvedite col-vo platform ");
    n = int.Parse(ConsoleInput.ReadToWhiteSpace(true));
    int[] CoordsY = new int[n]; //massiv s coord. platform
    int[] MinE = new int[n]; //massiv s min. eneregozatratami ot nachala platformi
 
    //Vvod
    for (int i = 0; i < n; i++)
    {
        CoordsY[i] = int.Parse(ConsoleInput.ReadToWhiteSpace(true));
    }
 
 
    MinE[0] = 0; //S nylevoi pozicii energiya ne tratitsya
    MinE[1] = Math.Abs(CoordsY[1] - CoordsY[0]); //Analogichno
 
    int E1; //Energii pri raznih slychayah
    int E2;
    for (int i = 2; i < n; i++) //Poisk vseh oslanih
    {
        E1 = Math.Abs(CoordsY[i] - CoordsY[i - 1]); //Energiya pri obichnom prijke
        E2 = 3 * Math.Abs(CoordsY[i] - CoordsY[i - 2]); //Energiya pri SUPER prijke
 
        //Nahodim minimal'nyu energiu kotoryu mojet zatratit' igrok
        if (E1 + MinE[i - 1] < E2 + MinE[i - 2]) // Eslu vigodnee prignyt' s blijaywei, to
        {
            MinE[i] = E1 + MinE[i - 1]; //prigaem s blijaiwey
        }
        else // a esli vigodnee prignyt' s dal'ney
        {
            MinE[i] = E2 + MinE[i - 2]; //to prigaem s dal'ney
        }
    }
 
    //Vivod
    Console.Write("zatrachennoi energy obichnimi prijkami ");
    Console.Write(E1);
    Console.Write("\n");
    Console.Write("zatrachennoi energy super prijkami ");
    Console.Write(E2);
    Console.Write("\n");
    Console.Write("minimum zatrachennoi energy  ");
    Console.Write(MinE[n - 1]);
 
}
internal static class ConsoleInput
{
    private static bool goodLastRead = false;
    public static bool LastReadWasGood
    {
        get
        {
            return goodLastRead;
        }
    }
 
    public static string ReadToWhiteSpace(bool skipLeadingWhiteSpace)
    {
        string input = "";
 
        char nextChar;
        while (char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
        {
            //accumulate leading white space if skipLeadingWhiteSpace is false:
            if (!skipLeadingWhiteSpace)
                input += nextChar;
        }
        //the first non white space character:
        input += nextChar;
 
        //accumulate characters until white space is reached:
        while (!char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
        {
            input += nextChar;
        }
 
        goodLastRead = input.Length > 0;
        return input;
    }
 
    public static string ScanfRead(string unwantedSequence = null, int maxFieldLength = -1)
    {
        string input = "";
 
        char nextChar;
        if (unwantedSequence != null)
        {
            nextChar = '\0';
            for (int charIndex = 0; charIndex < unwantedSequence.Length; charIndex++)
            {
                if (char.IsWhiteSpace(unwantedSequence[charIndex]))
                {
                    //ignore all subsequent white space:
                    while (char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
                    {
                    }
                }
                else
                {
                    //ensure each character matches the expected character in the sequence:
                    nextChar = (char)System.Console.Read();
                    if (nextChar != unwantedSequence[charIndex])
                        return null;
                }
            }
 
            input = nextChar.ToString();
            if (maxFieldLength == 1)
                return input;
        }
 
        while (!char.IsWhiteSpace(nextChar = (char)System.Console.Read()))
        {
            input += nextChar;
            if (maxFieldLength == input.Length)
                return input;
        }
 
        return input;
    }
}
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
13.01.2019, 17:07  [ТС] 3
Вы можете вспомнить хоть одного своего знакомого до двадцатилетнего возраста, который в детстве не играл в компьютерные игры?
Если да, то может быть вы и сами не знакомы с этим развлечением?
Впрочем, трудностей при решении этой задачи это создать не должно.
Во многих старых играх с двумерной графикой можно столкнуться с подобной ситуацией.
Какой-нибудь герой прыгает по платформам (или островкам), которые висят в воздухе.
Он должен перебраться от одного края экрана до другого.
При этом при прыжке с одной платформы на соседнюю, у героя уходит |y2-y1| единиц энергии,
где y1 и y2 – высоты, на которых расположены эти платформы.
Кроме того, у героя есть супер прием, который позволяет
перескочить через платформу, но на это затрачивается 3*|y3-y1| единиц энергии.
Конечно же, энергию следует расходовать максимально экономно.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
            Console.WriteLine("Введите n");
            int n = int.Parse(Console.ReadLine());
 
            var a = new List<int>();
            var ms = new List<int>();
 
            for (int i = 0; i < n; i++)
            {
                Console.Write($"[{i}] = ");
                a.Add(int.Parse(Console.ReadLine()));
            }
 
            ms.Add(0); //ms.Add(a[0]); ???
            ms.Add(Math.Abs(a[1] - a[0]));
 
            for (int i = 2; i < n; i++)
            {
                //3 * Math.Abs ??
                ms.Add((Math.Min(Math.Abs(a[i] - a[i - 1]) + ms[i - 1], 3 * Math.Abs(a[i] - a[i - 2]) + ms[i - 2])));
            }
 
            Console.WriteLine($"Результат {ms[n - 1]}");
Добавлено через 59 секунд
Иза чего у данного кода пародий так называемой не выводит Результат )
0
OwenGlendower
13.01.2019, 17:14
  #4
 Комментарий модератора 
Nikita110001, прекратите создавать дубли для одной и той же теме. Ведите все обсуждение в одной теме. За дальнейшие нарушения правил будут выдаватся карты.
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
13.01.2019, 17:20  [ТС] 5
Иза чего мне не кто не может помочь с данной программой ?
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
14.01.2019, 08:34  [ТС] 6
Решил сам !
0
14.01.2019, 08:34
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru