Ин
Информатика
31.12.2020 03:22
Решено

90 по информатике решить на pascal или c++ вася переехал из своего родного города и скучает по старым друзьям. к сожалению, вася снимает маленькую квартиру и одновременно в гости к нему может приехать только один друг. каждый друг сказал васе два числа a и b - с какого по какой день он может приехать в гости. каждый друг приезжает и уезжает в полдень. каждый друг может приехать к васе только один раз и остаться у него на несколько дней. вася хотел бы, чтобы суммарное количество дней, когда у него в гостях есть кто-нибудь из друзей, было максимальным. ему определить даты приезда для каждого из друзей так, чтобы они не пересекались (допустима ситуация, что в один день один из друзей приезжает, а другой - уезжает) и суммарное время, когда у васи в гостях есть кто-то из друзей, было максимальным. формат входных данных: в первой строке записаны целое число n (1 ≤ n ≤ 100000) - количество друзей васи. в следующих n строках записано по два целых числа ai и bi (оба числа от 1 до 109) - возможное время приезда i-го друга. формат результата: выведите n пар чисел li и ri - номера дней, в которые приедет и уедет i-й друг соответственно (ai ≤ li ≤ ri ≤ bi). если i-го друга приглашать не нужно, выведите пару чисел -1 -1. если правильных ответов несколько - выведите любой из них.

Лучшие ответы
Aneenanto
15
4,8(41 оценок)
31.12.2020 18:53

стандартный ввод стандартный вывод

3

1 2

2 4

3 5

1 2

3 4

5 5

3

2 3

1 4

3 5

-1 -1

1 4

5 5

andrew2324
16
4,7(24 оценок)
31.12.2020 04:07

1)32/2=16(0)     64/2=32(0)

16/2=8(0)           32/2=16(0)

8/2=4(0)             16/2=8(0)

4/2=2(0)             8/2=4(0)

2/2=1(0)             4/2=2(0)

1/2=0(1)             2/2=1(0)

                          1/2=0(1)     ответ: 100000.1000000

 

2)40/2=20(0)       5/2=2(1)

    20/2=10 (0)       2/2=1(0)

    10/2=5(0)         1/2=0(1)

    5/2=2(1)

    2/2=1(0)

    1/2=0(1)     ответ: 101000.101

 

3)31/2=15(1)     75/2=37(1)

    15/2=7(1)       37/2=18(1)

    7/2=3(1)         18/2=9(0)

  3/2=1(1)           9/2=4(1)

    1/2=0(1)         4/2=2(0)

                          2/2=1(0)

                          1/2=0(1)   ответ: 11111.1001011

 

4)

315/2=157(1)

157/2=78(1)

78/2=39(0)

39/2=19(1)

19/2=9(1)

9/2=4(1)

4/2=2(0)

2/2=1(0)

1/2=0(1)

 

           

1875/2=937(1)

937/2=468(1)

468/2=234(0)

234/2=117(0)

117/2=58(1)

58/2=29(0)

29/2=14(1)

14/2=7(0)

7/2=3(1)

3/2=1(1)

1/2=0(1)           ответ: 100111011.11101010011

  сначала надо перевести число до запятой а потом после 

     

baha2001zzz
13
4,7(90 оценок)
31.12.2020 04:07

для начала определим что такое разряд числа. разряд это порядковый номер цифры, и счет начинается с запятой, отделяющей дробь, счет начинается с 0 разряда до последней цифры. например, число 1234,0: 0 разряд - 4, 1 разряд - 3, 2 разряд - 2 и 3 разряд единица.

теперь определимся как переводить из 16й в 10ю.  для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.

т.е.:

 

чтобы перевести буквы в числа надо воспользоваться списком:

a=10; b=11; c=12; d=13; e=14; f=15

теперь расмотрим данные нам числа:

Присоединяйся к нам!
Зарегестрируйтесь
Уже есть аккаунт? Войти