graph_data = {
1: {"name": "Анализ рынка", "duration": 5, "dependencies": []},
2: {"name": "Разработка бизнес-планов", "duration": 10, "dependencies": [1]},
3: {"name": "Юридическая подготовка", "duration": 7, "dependencies": [1]},
4: {"name": "Формирование команды", "duration": 3, "dependencies": []},
5: {"name": "Подбор персонала", "duration": 10, "dependencies": [4]},
6: {"name": "Закупка оборудования", "duration": 5, "dependencies": [4]},
7: {"name": "Подготовка помещений", "duration": 7, "dependencies": [6]},
8: {"name": "Маркетинговая кампания", "duration": 5, "dependencies": [2]},
9: {"name": "Открытие филиалов", "duration": 2, "dependencies": [5, 7, 8, 3]},
10: {"name": "Мониторинг", "duration": 10, "dependencies": [9]}
}
edges = []
for task_id, task_data in graph_data.items():
for dependency in task_data["dependencies"]:
edges.append((dependency, task_id))
Z3JhcGhfZGF0YSA9IHsKICAgIDE6IHsibmFtZSI6ICLQkNC90LDQu9C40Lcg0YDRi9C90LrQsCIsICJkdXJhdGlvbiI6IDUsICJkZXBlbmRlbmNpZXMiOiBbXX0sCiAgICAyOiB7Im5hbWUiOiAi0KDQsNC30YDQsNCx0L7RgtC60LAg0LHQuNC30L3QtdGBLdC/0LvQsNC90L7QsiIsICJkdXJhdGlvbiI6IDEwLCAiZGVwZW5kZW5jaWVzIjogWzFdfSwKICAgIDM6IHsibmFtZSI6ICLQrtGA0LjQtNC40YfQtdGB0LrQsNGPINC/0L7QtNCz0L7RgtC+0LLQutCwIiwgImR1cmF0aW9uIjogNywgImRlcGVuZGVuY2llcyI6IFsxXX0sCiAgICA0OiB7Im5hbWUiOiAi0KTQvtGA0LzQuNGA0L7QstCw0L3QuNC1INC60L7QvNCw0L3QtNGLIiwgImR1cmF0aW9uIjogMywgImRlcGVuZGVuY2llcyI6IFtdfSwKICAgIDU6IHsibmFtZSI6ICLQn9C+0LTQsdC+0YAg0L/QtdGA0YHQvtC90LDQu9CwIiwgImR1cmF0aW9uIjogMTAsICJkZXBlbmRlbmNpZXMiOiBbNF19LAogICAgNjogeyJuYW1lIjogItCX0LDQutGD0L/QutCwINC+0LHQvtGA0YPQtNC+0LLQsNC90LjRjyIsICJkdXJhdGlvbiI6IDUsICJkZXBlbmRlbmNpZXMiOiBbNF19LAogICAgNzogeyJuYW1lIjogItCf0L7QtNCz0L7RgtC+0LLQutCwINC/0L7QvNC10YnQtdC90LjQuSIsICJkdXJhdGlvbiI6IDcsICJkZXBlbmRlbmNpZXMiOiBbNl19LAogICAgODogeyJuYW1lIjogItCc0LDRgNC60LXRgtC40L3Qs9C+0LLQsNGPINC60LDQvNC/0LDQvdC40Y8iLCAiZHVyYXRpb24iOiA1LCAiZGVwZW5kZW5jaWVzIjogWzJdfSwKICAgIDk6IHsibmFtZSI6ICLQntGC0LrRgNGL0YLQuNC1INGE0LjQu9C40LDQu9C+0LIiLCAiZHVyYXRpb24iOiAyLCAiZGVwZW5kZW5jaWVzIjogWzUsIDcsIDgsIDNdfSwKICAgIDEwOiB7Im5hbWUiOiAi0JzQvtC90LjRgtC+0YDQuNC90LMiLCAiZHVyYXRpb24iOiAxMCwgImRlcGVuZGVuY2llcyI6IFs5XX0KfQoKZWRnZXMgPSBbXQpmb3IgdGFza19pZCwgdGFza19kYXRhIGluIGdyYXBoX2RhdGEuaXRlbXMoKToKICAgIGZvciBkZXBlbmRlbmN5IGluIHRhc2tfZGF0YVsiZGVwZW5kZW5jaWVzIl06CiAgICAgICAgZWRnZXMuYXBwZW5kKChkZXBlbmRlbmN5LCB0YXNrX2lkKSkKCg==