Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2013, 00:44   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Кстати, подсократил код, попал в нижние строчки топа, а тестов прибавилось (стало 15).
UPD
Еще подсократил, отправил - стало 13 тестов.
Магия у них там какая-то творится.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 12.07.2013 в 00:46.
BDA вне форума Ответить с цитированием
Старый 12.07.2013, 01:12   #12
Кащей
Форумчанин
 
Аватар для Кащей
 
Регистрация: 09.07.2013
Сообщений: 249
По умолчанию

Код:
if(c=getchar()=='e')
поправощка
Код:
if((c=getchar())=='e')
do not use your brain
Кащей вне форума Ответить с цитированием
Старый 12.07.2013, 01:26   #13
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

прорвался на 10 место. а еще уменьшать и уменьшать
6-е. да, нада думать)
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 12.07.2013 в 02:07.
pproger вне форума Ответить с цитированием
Старый 12.07.2013, 17:25   #14
Кащей
Форумчанин
 
Аватар для Кащей
 
Регистрация: 09.07.2013
Сообщений: 249
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
прорвался на 10 место. а еще уменьшать и уменьшать
6-е. да, нада думать)
ты ето о чём?
do not use your brain
Кащей вне форума Ответить с цитированием
Старый 12.07.2013, 17:47   #15
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Кащей Посмотреть сообщение
ты ето о чём?
http://acmp.ru/index.asp?main=bstatus&id_t=80
Цитата:
Сообщение от pproger Посмотреть сообщение
прорвался на 10 место. а еще уменьшать и уменьшать
6-е. да, нада думать)
Поздравляю.
Пришли дяди на сайт олимпиад
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.07.2013, 18:33   #16
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2BDA
не понял, при чем тут дядя/не дядя

надоело. может кто улучшит?

200 символов
Код:
#include <cstdio>

int a, b, c, d, e;

main()
{
    fputs(fscanf(fopen("INPUT.TXT", "r"), "%d%c%d%c%d", &a, &d, &b, &e, &c) + e != 66 
        ? "ERROR" : (d-43 ? d-45 ? d-42 ? b && a % b == 0 ? a / b : ~0 : a*b : a-b : a+b) -c ? "NO" : "YES", fopen("OUTPUT.TXT", "w"));
}
некоторые мысли:
1. если писать на С, хидер можно не инклудить, gcc отругается варнингом, но слинкует. однако там стоит vc 7.1 и хрен пойми, почему он не хочет компилять валидный код на С. поэтому переходим на кресты и экономим 1 символ на инклуде
2. с 66 грязный хак, но лишь бы пройти тесты
3. открытие файлов заменял на макрос, но получил те же 200 символов
4. если выкинуть основной код определения операции и вычисления выражения, все равно получается на 2 символа больше, чем у топа
5. не нравится часть с делением. чую, что можно уменьшить, но доказать не могу

если у кого получится уменьшить - отписывайтесь тут


5-е место

190 символов
Код:
#include <cstdio>

int a, b, c, d;

main()
{
	fputs(fscanf(fopen("INPUT.TXT", "r"), "%d%c%d=%d", &a, &d, &b, &c) < 4 
		? "ERROR" : (d-43 ? d-45 ? d-42 ? b && a % b == 0 ? a / b : ~0 : a*b : a-b : a+b) -c ? "NO" : "YES", fopen("OUTPUT.TXT", "w"));
}
отпусти меня, чудо трава... давайте поднажмем общими силами
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 12.07.2013 в 20:02.
pproger вне форума Ответить с цитированием
Старый 12.07.2013, 19:15   #17
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от ACMP
Добро пожаловать на сайт проекта "Школа программиста"!

Данный проект создан для повышения у школьников Красноярского края уровня программирования и способностей, направленных на решение олимпиадных задач. Надеемся, что наш проект найдет массу заинтересованных в этой области людей, желающих оказать поддержку в развитии олимпиадного и спортивного программирования в Красноярском крае.
Т.е. сайт нацелен на школьников все же.
Задачи есть сложные, но понятно же, что перевес в знаниях у дяди-программиста, чем у школьника (есть и школьники, затыкающие за пояс многих более взрослых программистов, но если сравнивать талантливого школьника и матерого программиста, то перевес в пользу второго).

Если Вас как-то задела моя фраза, то извините. Хотел только сказать, что соревноваться взрослому и школьнику не совсем честно (багаж знаний помогает писать более короткий код). Честно говоря, уже потерял мысль, которую хотел донести Все же на сайте есть интересные задачи (интереснее тех, что обычно задают в школе), благодаря которым и взрослый может почерпнуть что-то новое, потренироваться, поломать голову. Закругляюсь - косноязычие не позволяет облечь мысли в правильную форму.

Кстати, по задаче: Вы писали на С++ или С? (у них оба языка имеют одинаковую надпись в таблице "С++")
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 12.07.2013 в 19:18.
BDA вне форума Ответить с цитированием
Старый 12.07.2013, 19:27   #18
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2BDA
я как бы про сами задачи ничего не говорю. ты считаешь что любой дядя программист сможет написать короче топа? + ты действительно думаешь, что все из первой пятерки школьники?) + как ты можешь сравнивать их и меня, не зная, какой бекграунд у них, и какой у меня) может я компьютер вчера первый раз увидел, а те что в топе, научились раньше печатать, чем говорить?)

мое мнение: 152 символов на эту задачу это что-то на грани фантастики. я свой код может быть и уменьшил еще на пару символов, но никак не на 50
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 12.07.2013 в 19:39.
pproger вне форума Ответить с цитированием
Старый 12.07.2013, 19:38   #19
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

я как бы про сами задачи ничего не говорю - да, не туда куда-то загнул я
ты считаешь что любой дядя программист сможет написать короче топа? - конечно же не любой (беру в рассмотрение только хороших программистов и хороших школьников).
ты действительно думаешь, что все из первой пятерки школьники?) - не задумывался (наверное, вряд ли, всегда найдутся люди, любящие поломать голову в рабочее время).
как ты можешь сравнивать их и меня, не зная, какой бекграунд у них, и какой у меня) может я компьютер вчера первый раз увидел, а те, что в топе научились раньше печатать, чем говорить?) - объективно не могу сравнивать (но все же 6 место в топе что-то да значит, значит все же комп у Вас не вчера куплен, а минимум позавчера ).
ПС Код классный.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.07.2013, 20:17   #20
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
Код:
#include <cstdio>

int a, b, c, d;

main()
{
	fputs(fscanf(fopen("INPUT.TXT", "r"), "%d%c%d=%d", &a, &d, &b, &c) < 4 
		? "ERROR" : (d-43 ? d-45 ? d-42 ? b && a % b == 0 ? a / b : ~0 : a*b : a-b : a+b) -c ? "NO" : "YES", fopen("OUTPUT.TXT", "w"));
}
#include <ios> можно попробовать и std::ofstream("output.txt") << (...) вроде короче получается. Да и с ifstream вроде тоже...

Последний раз редактировалось Somebody; 12.07.2013 в 20:26.
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложная задача! Pashok6 Паскаль, Turbo Pascal, PascalABC.NET 10 02.01.2012 00:03
Проверка в строки на число типа int Assemblerru Общие вопросы C/C++ 5 01.06.2011 13:32
функция float average(int arrray[],int from,int to) yuliyayuliya Помощь студентам 0 25.04.2011 21:55
сложная задача ugradvizhok Помощь студентам 1 30.03.2011 23:30
С++ Сложная задача sir.andrey Помощь студентам 12 26.10.2010 20:25