![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 26.01.2010
Сообщений: 2
|
![]()
Условие: Номер 4
Задача 4. Имеется N человек и целые числа А1, ..., AN; человека i необходимо познакомить с Аi людьми. Можно ли это сделать? Решение задачи: Номер 4 Задачa 4. Алгоритм состоит в следующем. На каждом шаге находится человек Х, имеющий наибольшее число Р нереализованных знакомств. Затем находится Р людей, с которыми человек Х собирается реализовать знакомства. Нетрудно понять, что это должны быть люди опять же с наибольшим числом нереализованных знакомств, так как такая стратегия обеспечивает на каждом шаге максимально возможное количество людей с нереализованными еще знакомствами. Человек Х реализует по одному знакомству с каждым из Р выбранных людей и из дальнейшего процесса исключается. При этом число нереализованных знакомств у каждого из Р людей уменьшается на 1. Процесс продолжается до тех пор, пока все знакомства не будут реализованы, или найдется такой человек Х, которому не хватит людей для реализации его нереализованных знакомств. В последнем случае задача не имеет решения. Для поиска человека Х и Р людей для реализации знакомств достаточно каждый раз упорядочивать значения нереализованных знакомств в порядке невозрастания, сохраняя при этом информацию о "имени" (исходном номере) человека. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 26.01.2010
Сообщений: 2
|
![]()
немного помогли немного разобрался! так надо исправить ошибки и есть операции которые задаються через ссылки а самих программ нет помогите отредактировать
include maclib1.asm begining ,.486,256 .data arr1 dw 10 dup(0,1,2,3,4,5,6,7,8,9,10) arr2 dw 10 dup(1,2,3,2,1,2,3,2,3,1,1) N dw 4 mess1 db 'No!$' .code sort proc push ax push bx push cx push dx xor cx,cx m0_: mov bx,cx m1_: inc bx cmp bx,[N] jge m0e mov si,cx shl si,1 ;i mov di,bx shl di,1 ;j mov ax,[arr2+si] cmp ax,[arr2+di] jge m1e mov dx,ax ;t1=Arr2[i]; mov ax,[arr2+di] mov [arr2+si],ax ;Arr2[i]=Arr2[j]; mov [arr2+di],dx ;Arr2[j]=t1; mov dx,[arr1+si] ;t2=Arr1[i]; mov ax,[arr1+di] mov [arr1+si],ax ;Arr1[i]=Arr2[j]; mov [arr1+di],dx m1e: jmp m1_ m0e: inc cx mov ax,[N] dec ax cmp cx,ax jl m0_ pop dx pop cx pop bx pop ax ret endp start: set_video use_memory xor dx,dx set_cursor m1: call sort mov ax,[N] dec ax cmp [arr2],ax jg break cmp [arr2],0 je break mov bx,1 ;j mov cx,[arr2] ;k m2: cmp bx,cx jg m1 mov si,bx shl si,1 cmp [arr2+si],0 je break dec [arr2] dec [arr2+si] xor dl,dl inc dh mov ax,[arr1] inc ax set_cursor dh,dl print_number_d add dl,10 set_cursor dh,dl mov ax,[arr1+si] inc ax print_number_d inc bx jmp m2 break: mov cx,[N] dec cx m3: mov si,cx shl si,1 cmp [arr2+si],0 je m4 clrscr print_message mess1 m4: loop m3 get_char vyhod end start |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
Вы думаете в вашей программе с макросами и без комментов кто-нить будет разбираться
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Незнаю как написать программу на питоне | "D.K" | Помощь студентам | 0 | 07.01.2010 21:45 |
Помогите плиз, курсак. А как сделать незнаю | chilinik | Помощь студентам | 3 | 27.06.2008 07:53 |
помогите с теорией в паскале | Vitas1234 | Помощь студентам | 1 | 25.05.2008 17:55 |