Блог пользователя MacKenlly

Автор MacKenlly, история, 8 лет назад, По-русски

Не давно я наткнулся на эту задачу И уже довольно долгое время ломаю голову, почему и где программка зацикливается. Я надеюсь, вы — как опытные гуру, сможете мне помочь...


#include <fstream> #include <string.h> #include<string> #include <iostream> #include <cstring> #include <algorithm> #include <map> #include<cstdio> #include<vector> #include <string> using namespace std; int cat[1000]={0}; bool color[5000]={0}; int a[5000][5000]={0},n,k,c=0; int dfs(int i) { bool f=true; color[i]=1; if (cat[i]<=k) {for (int j=1;j<=n;j++) { if (color[j]==0&&a[i][j]==1) { f=false;if (cat[j]!=0) cat[j]+=cat[i];dfs(j);}} if (f) c++;} return 0; } int main() { cin>>n>>k; for (int i=1; i<=n; i++) cin>>cat[i]; for (int j=1; j<n;j++) {int x,y; cin>>x>>y; a[x][y]=1;a[y][x]=1;} dfs(1); cout<<c; return 0; }

Заранее спасибо)

Полный текст и комментарии »

  • Проголосовать: нравится
  • -13
  • Проголосовать: не нравится

Автор MacKenlly, история, 8 лет назад, По-русски

Буду очень признателен. Желательно задачи с codeforces.com.

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор MacKenlly, история, 9 лет назад, По-русски

Я давно столкнулся с такой задачей, но на днях вспомнил о ней=) Требуется написать программу, которая уравнивает два числа a и b. Нужно использовать две операции +1 и *2 на двух числах. К примеру, числа 7, 13 ===> 14,14 (7*2,13+1) Все перепробовал... Может существует какой-то алгоритм? Я думаю что эта задача из раздела ДП. Проверочный тест — 14 62

Полный текст и комментарии »

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

Автор MacKenlly, история, 9 лет назад, По-русски

Здравствуйте форумчане!

Если вы читаете данный блог, то вы скорее всего одиноки ветке программирования. Я, к примеру, живу в поселке, где один испытываю интерес и тягу к точным наукам, такой как программирование. Да и в самом ближайшем городе тоже. Два года изучал программирование один, и вот задал себе вопрос:"Почему?" Короче говоря, я набираю команду для подготовки и решения олимпиадных задач и не только. Если кого-то заинтересовало мое предложение, то пишите мне в вк — http://vk.com/sergei11127, и МЫ будем творить правые дела=) Буду рад иметь союзников) P.S. Если из текста вы подумали, что я серьезен), то рад вас разочаровать)

Полный текст и комментарии »

  • Проголосовать: нравится
  • +14
  • Проголосовать: не нравится

Автор MacKenlly, история, 9 лет назад, По-русски

Итак, программисты, у меня к вам очень любопытная задача, алгоритма решения которой, к сожалению, я не достиг=(

Надеюсь на вашу помощь и здравомыслящий ум))

Удаление скобок

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

Входные данные Строка из круглых, квадратных и фигурных скобок. Длина строки не превосходит 100 символов.

Выходные данные Выведите строку максимальной длины, являющуюся правильной скобочной последовательностью, которую можно получить из исходной строки удалением некоторых символов.Если возможных ответов несколько, выведите любой из них.

Примеры

входные данные ([)]

выходные данные

[]

входные данные

{([(]{)})]

выходные данные

[({})]

Полный текст и комментарии »

  • Проголосовать: нравится
  • +7
  • Проголосовать: не нравится