Форум программистов, компьютерный форум CyberForum.ru

Олимпиада 1999г. - C++

Восстановить пароль Регистрация
 
METZEN
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 32
13.12.2010, 09:31     Олимпиада 1999г. #1
Помогите сделать курсач.
IMG.pdf
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 09:31     Олимпиада 1999г.
Посмотрите здесь:

C++ Школьная олимпиада по информатике
Очень срочно!!!!! Олимпиада!!!! C++
Олимпиада C++
муниципальная олимпиада. Странный output C++
Олимпиада по программированию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.12.2010, 14:38     Олимпиада 1999г. #2
я это даже прочитать не смог!!!
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.12.2010, 14:43     Олимпиада 1999г. #3
METZEN, а вверх ногами не получилось?
Оформляйте тему, как положено, иначе она будет удалена.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 14:50     Олимпиада 1999г. #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <math.h>
int main()
{
      freopen("input.txt","r",stdin);
      freopen("output.txt","w",stdout);
        int N, K, i, j, **mas1, **mas2, *mas_res, i_res=1, temp;
        scanf("%d %d", &N, &K);
        mas1=new int*[N];
        mas2=new int*[N];
        mas_res=new int[N];
        for(i=0; i<N; i++)
        {
            mas1[i]=new int[K];
            mas2[i]=new int[K];
            for(j=0; j<K; j++)
                scanf("%d", &mas1[i][j]);
        }
        for(i=0; i<K; i++)
        {
            temp=0;
            for(j=0; j<K; j++)
                if(mas1[N-1][j])
                    temp+=abs(i-j);
            mas2[N-1][i]=temp;
        }
        for(i=N-2; i>=0; i--)
        {
            for(j=0; j<K; j++)
            {
                temp=mas2[i+1][j];
                if(j>0 && temp>mas2[i+1][j-1])
                    temp=mas2[i+1][j-1];
                if(j<K-1 && temp>mas2[i+1][j+1])
                    temp=mas2[i+1][j+1];
                for(int y=0; y<K; y++)
                    if(mas1[i][y])
                        temp+=abs(y-j);
                mas2[i][j]=temp;
            }
        }
        temp=0;
        for(i=0; i<K; i++)
            if(mas2[0][i]<mas2[0][temp])
                temp=i;
        mas_res[0]=(N-1)*K+temp+1;
        int temp_N=1;
        while(temp_N<=N-1)
        {
            int temp2=temp;
            if(temp>0 && mas2[temp_N][temp2]>mas2[temp_N][temp-1])
                temp2=temp-1;
            if(temp<K-1 && mas2[temp_N][temp2]>mas2[temp_N][temp+1])
                temp2=temp+1;
            mas_res[i_res++]=(N-temp_N-1)*K+temp2+1;
            temp_N++;
            temp=temp2;
        }
        i_res--;
        while(i_res>=0)
            printf("%d\n", mas_res[i_res--]); 
        return 0;
}
METZEN
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 32
13.12.2010, 18:20  [ТС]     Олимпиада 1999г. #5
Спасибо большое!!!!При много благодарен
Yandex
Объявления
13.12.2010, 18:20     Олимпиада 1999г.
Ответ Создать тему
Опции темы

Текущее время: 14:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru