Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2013, 11:54   #1
СергейАстрахань
Новичок
Джуниор
 
Регистрация: 31.01.2013
Сообщений: 8
По умолчанию Олимпиадная задача 3

Требуется расставить в некоторые клетки таблицы 3 x 3 крестики так, чтобы в каждой строке и в каждом столбце было заданное количество крестиков.

Формат входных данных

Вводятся 6 чисел (от 0 до 3) – требуемое количество крестиков в первом, втором, третьем столбце, в первой, второй, третьей строке.

Формат выходных данных

Требуется выдать количество возможных таблиц или 0, если таких таблиц нет.

Пример

Входные данные Выходные данные

1 1 1 1 1 1 6

3 3 3 1 1 1 0

Решите плиз и эту задачку!
СергейАстрахань вне форума Ответить с цитированием
Старый 31.01.2013, 12:14   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Тупо перебор, нет?
Код:
typedef char field[9];
bool CheckField(const field& f, int hor1, int hor2, int hor3, int ver1, int ver2, int ver3){
  if(field[0]+field[1]+field[2] != hor1) return false;
  //...
  return true;
}

bool IsZeroField(const field& f){
  for(int i=0; i<9; ++i) if(f[i]!=0) return false;
  return true;
}

void ChageFieldToNext(field* f){
  int i=0;
  while((*f)[i] == 1) (*f)[i++] = 0;
  if(i<9) (*f)[i] = 1;
}
Abstraction вне форума Ответить с цитированием
Старый 31.01.2013, 16:07   #3
СергейАстрахань
Новичок
Джуниор
 
Регистрация: 31.01.2013
Сообщений: 8
По умолчанию

Огромное конечно спасибо, но ты не мог бы проверить в паскале код и скопировать от туда, а то мой паскаль не читает такой код(
СергейАстрахань вне форума Ответить с цитированием
Старый 31.01.2013, 16:36   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
а то мой паскаль не читает такой код(
а это вообще не Паскаль!!

Вы же не указали, на каком языке Вам нужно решение, поэтому отвечающие выбирают тот язык, который им ближе/понятнее/проще! (в данном случае, это код на C/C++ )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.01.2013, 16:45   #5
СергейАстрахань
Новичок
Джуниор
 
Регистрация: 31.01.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а это вообще не Паскаль!!

Вы же не указали, на каком языке Вам нужно решение, поэтому отвечающие выбирают тот язык, который им ближе/понятнее/проще! (в данном случае, это код на C/C++ )
Прошу прощение, а вы не могли бы переписать в Паскале?
СергейАстрахань вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Олимпиадная задача 2 СергейАстрахань Помощь студентам 3 31.01.2013 16:46
Олимпиадная задача. Godziller Фриланс 6 28.05.2012 14:10
олимпиадная задача quade1992 Паскаль, Turbo Pascal, PascalABC.NET 0 17.05.2012 18:57
олимпиадная задача danzel1 Общие вопросы C/C++ 2 21.10.2011 15:15
Олимпиадная задача. _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 1 09.12.2010 20:53