Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
 Аватар для frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 35

Олимпиадная задача на перевертыши

07.12.2015, 10:38. Показов 5789. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Жетоны

По случаю организации сотого чемпионата по спортивной рыбалке, администратор рыбхоза Валерий Карпович решил устроить лотерею. Для этого было изготовлено N жетонов с выгравированными посередине номерами. Валерий Карпович не заметил, что у некоторых жетонов были такие номера, что становилось невозможным определить – где у них верх, а где низ, а при повороте, число на жетоне менялось (6, например, превращалась в 9). Средств на перевыпуск всей партии не хватило, поэтому было принято решение доработать жетоны, допускающие такую двоякую интерпретацию, подчеркнув изображенное на них число.
Определите по заданному трехзначному числу количества жетонов N и заданному количеству «цифр-перевертышей» K сколько жетонов нужно переделать.

Формат входных данных
В первой строке задается число N (100 ≤ N ≤ 999) .
Во второй строке задается число K (1 ≤ K ≤ 8) .

Формат результата
Выведите количество жетонов, которые необходимо переделать.


Тестовый пример

N=100 K=3
--------------
Ответ: 4


--------------------------------------
Отсюда вопрос: для чего нужна переменная k?

Нужно строить решение, не зная сами цифры-перевертыши?

Почему тогда в тестовом примере k=3, а цифр две - 6 и 9?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2015, 10:38
Ответы с готовыми решениями:

Олимпиадная задача
Дошел до этой олимпиадной задачи и впал в ступор. Нагуглил, что можно решить с помощью матриц, либо с помощью графов, но какого-то...

C++. Олимпиадная задача
Здравствуйте! Код не проходит какой-то тест, может алгоритм не правильный. И если не правильный, то как исправить? Помогите найти ошибку....

Олимпиадная задача
Вот наткнулся сегодня на такую задачу: Всем известно, что в позапрошлом веке ковбои занимались перегоном скота. Перегон скота всегда...

44
 Аватар для frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 35
07.12.2015, 12:00  [ТС]
Студворк — интернет-сервис помощи студентам
Хорошо живете. Мы-то никак не поймем еще, все ли это допустимые значения k, а вы уже псевдоалгоритм предлагаете
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 5
07.12.2015, 12:01
Mesteriis, а каков алгоритм range-based цикла на паскале?
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.12.2015, 12:02
Цитата Сообщение от rakzeee Посмотреть сообщение
паскале?
О, боюсь ты не в той ветки, нет там такой мульки)))
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 5
07.12.2015, 12:03
ну да..
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 10
07.12.2015, 12:03
k = 1: 0
k = 2: 0, 8
k = 3: 0, 6, 9
k = 4: 0, 6, 8, 9
k = 5: 0, 2, 5, 6, 9
k = 6: 0, 2, 5, 6, 8, 9
k = 7: 0, 1, 2, 5, 6, 8, 9
k = 8: 0, 1, 2, 3, 5, 6, 8, 9

Я не уверен только насчет 7
0
 Аватар для frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 35
07.12.2015, 12:04  [ТС]
почему при k=2 не 69?
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.12.2015, 12:05
Цитата Сообщение от goldrus Посмотреть сообщение
k = 1: 0
Цитата Сообщение от goldrus Посмотреть сообщение
k = 2: 0, 8
не уверен в ноле
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 10
07.12.2015, 12:06
frostbool, потому что сказано, что ноль входит в этот набор при k >= 1

Добавлено через 56 секунд
Mesteriis,

Subject: Дополнение условия задачи A

В условии задачи A показаны примеры цифр-перевертышей для различных K. Цифра 0 является цифрой-перевертышем для любого K >= 1.

Это было разослано всем участникам от судей
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.12.2015, 12:06
Цитата Сообщение от frostbool Посмотреть сообщение
69?
Кликните здесь для просмотра всего текста

Не по теме:

О любимай цифра :p


хм)))
поверти 69 и попробуй получить что то другое кроме этой цифры!

Добавлено через 28 секунд
Цитата Сообщение от goldrus Посмотреть сообщение
В условии задачи A показаны примеры цифр-перевертышей для различных K. Цифра 0 является цифрой-перевертышем для любого K >= 1.
прощелкал
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 10
07.12.2015, 12:07
Видимо, больше обсуждать нечего, всё уже понятно
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 3
07.12.2015, 12:11
Вопрос, почему при k = 2 : 8, 0? А не 6, 0? Или 9, 0?
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 10
07.12.2015, 12:12
stamaks, потому что перевернув 6 ты не получишь цифру-перевертыш
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
07.12.2015, 12:12
киньте сайт с системой
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 10
07.12.2015, 12:13
Dimension, этот олимпиада ВШЭ Высшая проба, на нее надо было регистрироваться заранее, и она только для школьников
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 3
07.12.2015, 12:13
Да, действительно... Спасибо.
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
07.12.2015, 12:15
тогда пусть решает сам ,это справедливо
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
07.12.2015, 12:19
Мой набросок - мб в правильную сторону копаю - для любого К кажись количество одинаковое не смотря на "значение этих перевёртышей".

Кликните здесь для просмотра всего текста
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
typedef std::vector<int> NumberArray;
typedef std::pair<int, int> Range;
 
 
NumberArray covertToArray( const int number )
{
   NumberArray result;
   int tempNumber = number;
   while(tempNumber)
   {
      int digit = tempNumber % 10;
      result.push_back( digit );
      tempNumber /= 10;
   }
   std::reverse( result.begin(), result.end() );
   return result;
}
bool isConsistOnlyFromArrayDigit( const int number, NumberArray& revertedDigits )
{
   bool result = true;
 
   NumberArray digits = covertToArray( number );
   for(auto& it : digits)
   {
      NumberArray::iterator seach = std::find( revertedDigits.begin(), revertedDigits.end(), it );
      if(seach == revertedDigits.end())
      {
         result = false;
         break;
      }
   }
   
 
   return result;
}
int getCountOfReverted( const Range& range, NumberArray revertedDigits )
{
   int result = 0;
 
   cout << "Seach for digits: ";
   for(auto& it : revertedDigits)
      cout << it << " ";
 
   cout << " : ";
   NumberArray arr;
   for(int i = range.first; i < range.second; ++i)
   {
      if(isConsistOnlyFromArrayDigit( i, revertedDigits ))
      {
         cout << i << " ";
         result++;
      }
         
   }
 
   return result;
}
int main()
{
 
   const int N = 741;
   const int K = 5;
   const Range rangeN = {1,999};
   const Range rangeK = {1,8};
 
   int counter = 0;
   
   cout << "-------------------------------- K = 1 ------------------------------------------ " << endl;
   for(int i = rangeK.first; i <= rangeK.second; i++)
      cout  << "   ####     Reverted: "<< getCountOfReverted( rangeN, {i} ) << endl;
   
   cout << "-------------------------------- K = 2 ------------------------------------------ " << endl;
   for(int i = rangeK.first; i <= rangeK.second; i++)
   for(int q = rangeK.first; q <= rangeK.second; q++)
      cout << "R   ####     Reverted: " << getCountOfReverted( rangeN, {i, q} ) << endl;
 
 
}
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.12.2015, 12:20
Цитата Сообщение от goldrus Посмотреть сообщение
потому что перевернув 6 ты не получишь цифру-перевертыш
6 или 9, получаешь как раз
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 3
07.12.2015, 12:20
Еще вопрос: а как можно написать цифру 3 так, чтобы при перевороте получилась она же?
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.12.2015, 12:22
Цитата Сообщение от stamaks Посмотреть сообщение
а как можно написать цифру 3 так,
не как
Ну если без извращенных шрифтов)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2015, 12:22

Олимпиадная задача
Недавно был на олимпиаде по программированию, там была задача, решение аналогов которой я не нашел. Дано натуральное число, состоящее...

Олимпиадная задача
#include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int main() { unsigned int N; cout&lt;&lt;&quot;N=&quot;;...

Задача на дп (олимпиадная)
Здравствуйте, имеется данная задача, основная проблема состоит в том, что мое решение никак не проходит по времени. Пробовал писать через...

Олимпиадная задача
Был в прошлом году на олимпиаде по программированию и там была такая задача: После запуска программы пользователь должен начать...

Олимпиадная задача
Задача A. Олимпиада Маленький мальчик Гриша уже сам начал делать олимпиады, и ему как раз нужно подготовить Открытую Олимпиаду по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru