#include
#include
using namespace std;
vector otm;
vector past;
vector strength;
bool leaves(int n){
for (int i = 0; i < n; i++){
if (otm[i] == 1 && past[i] == 0 && strength[i] < strength[0]){
return true;
}
}
return false;
}
int main()
{
int n;
cin >> n;
otm.resize(n, 1);
for (int i = 0; i < n; i++){
int a;
cin >> a;
strength.push_back(a);
}
int prep[n];
past.resize(n, 0);
for (int i = 0; i < n - 1; i ++){
int a;
int b;
cin >> a >> b;
prep[b - 1] = a - 1;
past[a - 1]++;
}
while (leaves(n)){
for (int i = 0; i < n; i++){
if (otm[i] == 1 && past[i] == 0 && strength[i] < strength[0]){ //this is 48 line
otm[i] = 0;
past[prep[i]]--;
}
}
}
int sum = 0;
for (int i = 0; i < n; i++){
if (otm[i] == 1){
sum++;
}
}
cout strength[0]){
как и должно быть, он переходит в бесконечный цикл. Есть идеи, почему это приводит к бесконечному циклу?
В следующем коде [code]#include #include using namespace std;
vector otm; vector past; vector strength;
bool leaves(int n){ for (int i = 0; i < n; i++){ if (otm[i] == 1 && past[i] == 0 && strength[i] < strength[0]){ return true; } } return false; }
int main() { int n; cin >> n; otm.resize(n, 1);
for (int i = 0; i < n; i++){ int a; cin >> a; strength.push_back(a); }
int prep[n]; past.resize(n, 0);
for (int i = 0; i < n - 1; i ++){ int a; int b; cin >> a >> b; prep[b - 1] = a - 1; past[a - 1]++;
}
while (leaves(n)){ for (int i = 0; i < n; i++){ if (otm[i] == 1 && past[i] == 0 && strength[i] < strength[0]){ //this is 48 line otm[i] = 0; past[prep[i]]--; } } }
int sum = 0; for (int i = 0; i < n; i++){ if (otm[i] == 1){ sum++; } } cout strength[0]){[/code] как и должно быть, он переходит в бесконечный цикл. Есть идеи, почему это приводит к бесконечному циклу?
У меня есть модель конфигурации, в которой я реализовал пользовательское приведение типов, метод получения работает отлично, но давайте посмотрим на метод установки.
Для ясности я сократил примеры кода до только то, что имеет отношение к контексту....
Я работаю над проектом Angular. Я реализовал список «бесконечной прокрутки», используя IntersectionObvserver. В целом это работает довольно хорошо и удовлетворительно.
Но есть одна проблема, которую я пока не нашел решения.
Записи для создания...
Контекст
Я реализовал решение для сортировки LinkedList с помощью Python (на сайте leetcode.com).
Решение представляет собой подход сортировки слиянием снизу вверх (разделяй и властвуй). .
Приведенный ниже код неполон, в нем отсутствует реализация...
title
Я пытаюсь запрограммировать треугольник Паскаля на C# и не могу понять, что не так с кодом,
вот что я написал:
static void Main(string[] args)
{
int numrows = int.Parse(Console.ReadLine());
PascalsTriangle(numrows);
}
static void...
title
Я пытаюсь запрограммировать треугольник Паскаля на C# и не могу понять, что не так с кодом,
вот что я написал:
static void Main(string[] args)
{
int numrows = int.Parse(Console.ReadLine());
PascalsTriangle(numrows);
}
static void...