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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 22:03   #1
Annchka
 
Регистрация: 10.08.2011
Сообщений: 5
По умолчанию Unfriend

Марк пригласил некоторых людей присоединиться к его социальной сети. Некоторые из них пригласили других людей, которые пригласили третьих и т.д. Теперь в сети есть N человек, пронумерованных от 1 до N. Марк решил удалить некоторых людей. Но есть одно ограничение: при удалении человека, нужно удалить и всех людей, которых он пригласил, и всех кого пригласили эти люди и т.д. Марк никогда не удаляет себя. И было запрещено вводить людей приглашенных более чем одной персоной. Марк может также решить не удалять никого.

Сколько различных множеств людей может быть удалено.

Формат ввода

Первая строка содержит одно целое число N (N<=6), количество людей в сети. Далее следуют N-1 строка, указывающие, кто пригласил каждого человека. А именно, строка I содержит целое число j (j>i) которая указывает, что человека с номером I пригласил человек с номером j. Марк – это человек с номером N.

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

Выведите одно целое число, количество возможных множеств людей, которые могут быть удалены.
Ввод
3
3
3

Вывод
4
Пояснение:
Первое число указывает, что в сети три человека. Следующая строка говорит, что человека 1 пригласил Марк, а следующая что и человека 2 тоже пригласил Марк. Имеются 4 множества людей, которые могут быть удалены: {}, {1}, {2}, {1,2}.
Annchka вне форума Ответить с цитированием
Старый 22.01.2012, 22:51   #2
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

прога на паскале нужна???
беру сколько дадите, если захотите. Проще говоря за Пиво.
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Старый 22.01.2012, 23:12   #3
Annchka
 
Регистрация: 10.08.2011
Сообщений: 5
По умолчанию

да на паскале нужна
Annchka вне форума Ответить с цитированием
Старый 22.01.2012, 23:20   #4
Annchka
 
Регистрация: 10.08.2011
Сообщений: 5
По умолчанию

у меня такой код а нужно на паскале
def goodNumber(N, x):
last = N
ok = True
while x > 0 and ok:
digit = x % 10
ok = digit < last
last = digit
x = x // 10
return ok
def goodCombo(N,x,l):
digits = []
while x > 0:
digits.append(x % 10)
x = x // 10
for d in digits:
for x in range(0,N-1):
if d == l[x]:
if (x+1) not in digits:
return False
return True
N = input()
l = []
for i in range(1,N):
l.append(input())
max = eval("12345"[0:N-1])
count = 1
for i in range(1, max+1):
if goodNumber(N, i) and goodCombo(N, i, l):
count = count + 1
print count
Annchka вне форума Ответить с цитированием
Старый 23.01.2012, 09:16   #5
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

это байсик что ли
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Старый 23.01.2012, 09:27   #6
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

Мля, а почему марк не номер ноль. Так можно????
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Старый 23.01.2012, 11:20   #7
Annchka
 
Регистрация: 10.08.2011
Сообщений: 5
По умолчанию

нет это java
Annchka вне форума Ответить с цитированием
Старый 23.01.2012, 12:03   #8
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

а имена людей нужны

алгоритм таков
i:array[1..n]of string;j:array[1..n]of integer;

{input i & j for 1 to n}
writeln's(i&j)
writeln('udalit' namber)

delete namber&clics
korecchia spisca

писать займёт 20-30 мин????????????????????????????
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Ответ


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