Skip to content

Instantly share code, notes, and snippets.

irb(main):001:0> A = Module.new
=> A
irb(main):002:0> B = Module.new
=> B
irb(main):003:0> C = Class.new
=> C
irb(main):004:0> D = Class.new(C) { include A, B }
=> D
irb(main):005:0> D < C
=> true

Keybase proof

I hereby claim:

  • I am dukaev on github.
  • I am dukaev (https://keybase.io/dukaev) on keybase.
  • I have a public key ASA7i8fIDcRuY5DOlGOztaJxs4y0suSKuf4WU5g-Q6s9Wwo

To claim this, I am signing this object:

Keybase proof

I hereby claim:

  • I am dukaev on github.
  • I am dukaev (https://keybase.io/dukaev) on keybase.
  • I have a public key ASA7i8fIDcRuY5DOlGOztaJxs4y0suSKuf4WU5g-Q6s9Wwo

To claim this, I am signing this object:

c++/4.9/ext/pb_ds/detail/rb_tree_map_/node.hpp: std::cout << PB_DS_V2F(m_value) <<(m_red? " <r> " : " <b> ")
c++/4.9/ext/pb_ds/detail/rb_tree_map_/node.hpp: { std::cout << PB_DS_V2F(m_value) <<(m_red? " <r> " : " <b> "); }
c++/4.9/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: std::cout << "rc" << std::endl;
c++/4.9/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: std::cout << std::endl;
c++/4.9/ext/pb_ds/detail/splay_tree_/node.hpp: { std::cout << PB_DS_V2F(m_value) << "(" << m_metadata << ")"; }
c++/4.9/ext/pb_ds/detail/splay_tree_/node.hpp: { std::cout << PB_DS_V2F(m_value); }
c++/4.9/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: std::cout << r_e << " " <<* r_e << std::endl;
c++/4.9/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: std::cout << r_e << std::endl;
c++/4.9/tr2/dynamic_bitset: * cout << "b('a') is " << b << endl;
c++/4.9/tr2/dynamic_bitset: * cout << "index 3 in the string is " << str[3] << " but\n"
В этой задаче вы можете использовать векторы (в Java допустимы массивы и ArrayList-ы), циклы и операторы ветвления. Запрещается использовать массивы, многомерные массивы/векторы, вложенные циклы и функции стандартной библиотеки работы с контейнерами.
Массив a четной длины зашифровали следующим образом: разбили его на 2 части одинаковой длины (левую и правую), каждую из них циклически сдвинули вправо на p позиций, а затем весь массив сдвинули циклически вправо на q позиций. Вам задан зашифрованный массив, восстановите оригинальный.
Пример, поясняющий циклический сдвиг вправо: если циклически сдвинуть вправо на 3 массив [4,5,3,6,1,7], то получится массив [6,1,7,4,5,3].
Входные данные
В первой строке задано три целых числа через пробел: n, p, q (1 ≤ n ≤ 2 · 105, 1 ≤ p ≤ n/2, 1 ≤ q ≤ n) — количество элементов в массиве и величины циклических сдвигов. Гарантируется, что n - четное число.
@dukaev
dukaev / bubble sort.c
Last active August 29, 2015 14:26
Сортировка пузырьком
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
int m[argc-1], i, temp, p, cc, s;
/* Заполняем массив из входными данными */
for (i = 0; i < argc-1; i++) m[i]=atoi(*(++argv));
/* Сортируем массив */
for (p = 0; p < argc-1; p++)
@dukaev
dukaev / gist:9394443
Last active August 29, 2015 13:57
Dukaev

#Aslan Dukaev

  • aslandu@ya.ru
  • dukaev.habrahabr.ru
  • vk.com/adukv
  • twitter.com/adukv
  • dukaev.tumblr.com