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

Олимпиада по программированию - C++

Восстановить пароль Регистрация
 
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
04.04.2012, 22:12     Олимпиада по программированию #1
28 апреля государственный тур олимпиада по программированию (в Армении), и я готовлюсь к олимпиаде. Прошу вас, если несложно дайте задач порешать. И если можно дать ссылки на описания алгоритмов (ну например Дейкстры, быстрое преоброзавание Фурье, и т.д.) и задачи на эти тематики.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
04.04.2012, 22:20     Олимпиада по программированию #2
http://www.e-olimp.com/
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
04.04.2012, 22:21  [ТС]     Олимпиада по программированию #3
Infinity3000, спасибо конечно но я там уже довно зареган, и на многих таких сайтах. Мне нужны отдельные задачи
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.04.2012, 22:23     Олимпиада по программированию #4
Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
04.04.2012, 22:47  [ТС]     Олимпиада по программированию #5
Jupiter, спасибо попробую решить!

Добавлено через 5 минут
вот кажись решил
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
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int n,m;
    cin >> n >> m;
    vector< vector<int> > a(n,vector<int>(m,1));
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            if (a[i][j])
            {
                if (i+2<n && j+1<m)
                    a[i+2][j+1]=0;
                if (i+2<n && j-1>=0)
                    a[i+2][j-1]=0;
                if (i+1<n && j+2<m)
                    a[i+1][j+2]=0;
                if (i-1>=0 && j+2<m)
                    a[i-1][j+2]=0;
                if (i-2>=0 && j+1<m)
                    a[i-2][j+1]=0;
                if (i-2>=0 && j-1>=0)
                    a[i-2][j-1]=0;
                if (i+1<n && j-2>=0)
                    a[i+1][j-2]=0;
                if (i-1>=0 && j-2>=0)
                    a[i-1][j-2]=0;
            }
    }
    int k=0;
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            k+=a[i][j];
    cout << k;
    return 0;
}
Yandex
Объявления
04.04.2012, 22:47     Олимпиада по программированию
Ответ Создать тему
Опции темы

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