motofan logo
       
> 

Олимпиадное программирование

DmT
сообщение 11.12.2010, 19:22


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Кто занимается олимпами?
Интересно стало, есть на мф души решающие олимпиадные задачки.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
xednay
сообщение 11.12.2010, 19:40


Мастер
****

Группа: Пользователи
Сообщений: 239
Регистрация: 8.8.2006
Из: Ставрополь
Пользователь №: 94 286
Модель телефона: MOTODEFY
Прошивка: Android 2.2.1

Рейтинг: 65.5



Я занимаюсь второй год. Хожу на второй курс местной школы доп. образования, бюджетное отделение информатики.
Интересно, конечно, мозги развивает.
Но... Математик из меня хреновый. И более-менее сложные задачи для меня идут совсем тяжко.
Но не сильно по этому поводу расстраиваюсь. Математика не так часто нужна в жизни, да и в реальной работе программистом навыки олимпиадного программирования иногда больше мешают, чем помогают.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 11.12.2010, 19:49


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



DmT,
я на тимусе для себя в свободное время решаю, но лениво grin.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 11.12.2010, 21:10


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



я был один раз на олимпиаде по программированию, но тогда писали на бейсике ))
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 12.12.2010, 16:26


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



> я на тимусе для себя в свободное время решаю
да, я тоже там.
Ну и ко всему прочему меня тренеруют.
А сегодня и вчера был закрытый чемпионат УрФУ(Уральский Федеральный Университет, Екатеринбург).
По результатам двух дней я занял 5 место. Чуть чуть не хватило времени(1 минуты, я комит сделал на 150 минуте(из 150), а аццепт получить не успел) до призового места.
Если кому нибудь интересно могу выложить тексты задач, хотя наверное они скоро появятся на тимусе.

Хотя одной задачей все же поделюсь, первые три человека кто пришлют верные решения в личку - дам +5.
Цитата
"Что за прога"
Условие задачи очень простое! У вас есть функция, и непонятно, что она делает. Вам нужно разобраться в этом. На вход непонятной функции даются два целых числа. Функция возвращает целое число. Вот код функции:
Код
int f(int a, int b)
{
    a = ( a^=b ) ^ ( b^=a );
    return (!a||!b ? a|b : f((a&b)<<1, a^b));
}

На вход вашей программе дается 1 число - результат работы функции - целое число, 0 <= N <=10000
В ответ ваша программа должна записать какие-нибудь два целых числа в диапазоне от 0 до 10000, которые нужно подать на вход функции, чтобы получить на выходе N.
Пример ввода
1136
[close]

Пример вывода
778 358
[close]



Сообщение отредактировал DmT - 12.12.2010, 16:27
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fenja
сообщение 12.12.2010, 17:18


Авторитет
********

Группа: Модераторы
Сообщений: 5 564
Регистрация: 25.8.2008
Из: г. Пенза
Пользователь №: 179 851
Модель телефона: MotoRazr v3i
Прошивка: MotoUpdate v1.1

Рейтинг: 1756



Цитата(xednay @ Вчера, 22:35)

да и в реальной работе программистом навыки олимпиадного программирования иногда больше мешают
*


Цитата(DmT @ Сегодня, 19:21)

(!a||!b ? a|b : f((a&b)<<1, a^b))
*


Да, так в реальном коде писать никто не будет smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andrew_71
сообщение 12.12.2010, 17:38


Ветеран
*****

Группа: Пользователи
Сообщений: 374
Регистрация: 9.6.2007
Из: Рио-де-Мясново / Прейсиш Эйлау
Пользователь №: 137 694
Модель телефона: ROKR_Z6
Прошивка: PE 1.86

Рейтинг: 279



Spoiler:
int f(int a, int b)
{
a = ( a^=b ) ^ ( b^=a );
return (!a||!b ? a|b : f((a&b)<<1, a^b));
}

void reverseF(int A, int a, int b)
{

for(int i = 0; i < A; i++)
{
if(f(i, A-i) == A) {a = i; b = A-i; break;}
}
}

int main()
{
int A = 0;
int a = 0;
int b = 0;

A = Console::ReadLine();
reverceF(A, a, b);

Console::WriteLine(a);
Console::WriteLine(b);
Console::ReadLine();
return 0;
}
[close]


Если вкраце, то решение звучит как "Меня не особо волнует, что делает эта функция".

Сообщение отредактировал Andrew_71 - 12.12.2010, 17:44
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 12.12.2010, 17:51


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Решение не лучшее, но оно даст верный результат. Принимается.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 14.12.2010, 15:46


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Так, ну что, ни у кого никаких идей?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 15.12.2010, 16:11


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Ну либо ни у кого нет нормальной идеи, либо тред никому не интересен
Я все равно опубликую свое решение, на всякий случай, вдруг кому интересно:
Код

#include <stdio.h>

int main(int argc, char **argv)
{
    int N;
    scanf("%i", &N);
    printf("%i %i\n", 0, N);
    return 0;
}

проверить правильность это решения вы можете самостоятельно. Но вот оно зашло с первой попытки.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-SeGa-
сообщение 18.12.2010, 8:25


Интересующийся
**

Группа: Пользователи
Сообщений: 56
Регистрация: 2.8.2008
Из: Росто-На-Дону
Пользователь №: 178 348
Модель телефона: L7 - seТ700
Прошивка: =)

Рейтинг: 20.5



у нас в ростове, в колледже получается я в группе один программист, меня хотят на олимпиаду.. а по началу тоже хотел, пока не увидел задания. ОДНА МАТЕМАТИКА!! Логики очень мало, все очень примитивно, нузно знать только математику, и пару математических функций для ЯП... Подскажите, везде ли так??
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 18.12.2010, 13:59


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Учавствуй в ACM wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Олимпиадное программирование · Обо всём · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.7.2025, 4:53

Форум живёт: