/
aavilyavdo
/
GoProtect-test
Обзор
Документация
Войти
/
aavilyavdo
/
GoProtect-test
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
controllers/ArbitrageController.php
33 строки
958 B
aavilyavdo
create: GraphModel.php, update: ArbitrageController.php, delete: GraphModel.php
06 май 2026, 14:12
Верифицирован
06 май 2026, 14:12
c508801
Код
Авторство
О чём код?
<?php require_once __DIR__ . '/../models/GraphModel.php'; require_once __DIR__ . '/../models/ExchangeModel.php'; require_once __DIR__ . '/../services/FloydWarshallService.php'; class ArbitrageController { private GraphModel $graphModel; public function __construct(int $numItems) { $this->graphModel = new GraphModel($numItems); } public function addExchange(int $from, int $to, int $payment): void { $exchange = new ExchangeModel($from, $to, $payment); $this->graphModel->addExchange($exchange); } public function analyze(): array { $service = new FloydWarshallService($this->graphModel); $hasCycle = $service->run(); if (!$hasCycle) { return ['hasCycle' => false]; } return [ 'hasCycle' => true, 'cycle' => $service->getCycle(), 'profit' => $service->getProfit() ]; } }