Задача для программистов.

Печать RSS
133

Автор
Чатланин
0
Добрый день. Нужна помощь в решении задачи:

Есть 100 дней, есть 20 футбольных клубов. Нужно составить календарь игр для каждого клуба на эти 100 дней. при этом, нужно учесть, что:

1) Игры происходят в два захода (дома и на выезде);
2) Каждый клуб должен играть матч через 3 дня.
Z

Клуракан
0
берешь матчи между 1 и 2, 2 и 3, 3 и 4, 4 и 5...
потом их перемешиваешь как тебе надо
вроде должно работать
Автор
Чатланин
0
mr.Z (21 Июля 2011 / 11:53)
берешь матчи между 1 и 2, 2 и 3, 3 и 4, 4 и 5...
потом их перемешиваешь как тебе надо
вроде должно работать


Как ты составишь циклы для "берешь матчи между 1 и 2, 2 и 3, 3 и 4, 4 и 5..."?

Плюс же есть два пункта, которые я написал в первом посте.
Изменил: CROWS (21.07.2011 / 12:02)
Z

Клуракан
0
3, цикл можно составить, было бы желание
когда у тебя будет список всех матчей между командами - приводишь их к своему условию и выставляешь нужные матчи

Добавлено через 03:46 сек.
Дай названия своих команд в личку, может помогу
Автор
Чатланин
0
mr.Z (21 Июля 2011 / 12:03)
3, цикл можно составить, было бы желание
когда у тебя будет список всех матчей между командами - приводишь их к своему условию и выставляешь нужные матчи

Добавлено через 03:46 сек.
Дай названия своих команд в личку, может помогу
"цикл можно составить, было бы желание" - ну ответ пустой и ничего мне особо не дает smile Такие фразы может написать любой "типа программист".

Та название могут быть абсолютно любыми. Как вариант: id1, id2, ..., id20.

Добавлено через 01:32 сек.
Вы просто попробуйте составить сам календарь на листочке бумаги и подогнать под него задачи из первого поста, а также написать циклы smile На первый взгляд всё просто smile
Z

Клуракан
0
5. -V_o_R_o_N_a-, в 100 дней 20 команд не вложится, им нужно 20*2-2*3=108 дней
Автор
Чатланин
0
6. mr.Z, да, чуть не расчитал интервал. Ну можно взять либо 120 дней, либо одна игра в два дня. Это не так важно.
Изменил: CROWS (21.07.2011 / 12:15)
Z

Клуракан
0
7. -V_o_R_o_N_a-, сейчас если хватит времени, то что-то накалякаю

Добавлено через 06:01 сек.
http://thiswap.com/work/football/index.php вот пока что вышло все матчи для каждой команды собрать, но я не успею полностью доделать, скоро уходить надо по делам, если что вечером допишу
Z

Клуракан
0
Проверил на 6 командах, все гуд работает, на 20ти проверь сам уже.
Сделал эту байду без ответных матчей, думаю сам справишься уже.
<?php
// массив команд
$team = array('1'=>'1',
		'2',
		'3',
		'4',
		'5',
		'6',
		'7',
		'8',
		'9',
		'10',
		'11',
		'12',
		'13',
		'14',
		'15',
		'16',
		'17',
		'18',
		'19',
		'20');
$all_team = count($team);
$k = $all_team/2;

// 1 тур
echo '1 тур<br>';
for($i=1;$i<=$k;$i++)
{
	echo $team[$i].' - '.$team[($all_team-$i+1)].'<br>';
}

// Следующие туры
for($i=2;$i<$all_team;$i++)
{
echo $i.' тур<br>';

$team2 = $team[2];

for($y=2;$y<$all_team;$y++)
{
	$team[$y] = $team[$y+1];
}
$team[$all_team] = $team2;

for($j=1;$j<=$k;$j++)
{
	echo $team[$j].' - '.$team[($all_team-$j+1)].'<br>';
}

}
?>
возможно много ***кода, но делал как было быстрее)
Автор
Чатланин
0
9. mr.Z, спасибо за помощь. +1.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск