Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Hed-kun

Программирование Т. 5

Рекомендованные сообщения

10 лет стажа === вышка при получении визы/заграна жеж

если я ничего не путаю - то 5 лет стажа приравниваются к 2 годам обучения. следовательно бакалавр - это 20 лет стажа

бакалавр это 4 года

то есть 10 лет стажа

 

 

хз о чем ты

я опечатался. 1 год обучения - 5 лет стажа

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

10 лет стажа === вышка при получении визы/заграна жеж

если я ничего не путаю - то 5 лет стажа приравниваются к 2 годам обучения. следовательно бакалавр - это 20 лет стажа

бакалавр это 4 года

то есть 10 лет стажа

 

 

хз о чем ты

я опечатался. 1 год обучения - 5 лет стажа

хуйню сказал

 

для заграна надо либо вышку либо 10 лет стажа, ну в россии так

Поделиться сообщением


Ссылка на сообщение

ilsy, приостанови свой флуд немного, а то в ридонли придется посидеть день-два.


 

 

prodota

 

 

Мой Кирюша

 

 

phoca_thumb_l_lam_5743.jpg

 

 

Quote

Едем на дачу - KachoOk в придачу!

Rus6YImZrQI.jpg

 

 

 

 

aka KachoOk (R.I.P)

Поделиться сообщением


Ссылка на сообщение
хуйню сказал

 

для заграна надо либо вышку либо 10 лет стажа, ну в россии так

ну это мб в рашке. у разных стран разная эмиграционная политика.

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение

10 лет стажа === вышка при получении визы/заграна жеж

если я ничего не путаю - то 5 лет стажа приравниваются к 2 годам обучения. следовательно бакалавр - это 20 лет стажа

бакалавр это 4 года

то есть 10 лет стажа

 

 

хз о чем ты

я опечатался. 1 год обучения - 5 лет стажа

хуйню сказал

 

для заграна надо либо вышку либо 10 лет стажа, ну в россии так

Что бы в омеригу свалить нужно 12 лет стажа ЛИБО 4 года бакалавриата. У нас дохрена народу работает по рабочим визам в омериге. Без вышки ни в какую не дают.

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

Не хочу в Амрику. Мне вообще россия нравится вполне.

Поделиться сообщением


Ссылка на сообщение

Я нихуя не понял. Зачем какие-то левые _1 _2 _3? Полный перебор это размещенияиз 10 по (количество букв). Для SEND+MORE=MONEY это размещения из 10 по 8. Количество вариантов 10! / 2. Я уже писал это О_О

 

Ну я начал писать по другому, но там пздц условий, заебался.

План был такой:

1. Пробуем все цифры для последнего символа ответа

2. На эту цифру влияют только последние из обоих слагаемых. Подбираем их так чтобы в сумме или мод 10 они давали цифру из п.1

3. Если прокатил вариант, убираем эти символы (оставляем типа SEN+MOR+MONE) ну и сохраняем че к чему присвоили. И идем рекурсивно в 1 (нужно не забыть еще если сумма >10 была что +1 будет)

4. Когда всем буквам присвоили цифры, чекаем. Если не прокатило то откатываемся назад.

 

Как-то так.

 

Да, я думал над этим алгоритмом, но стало лень реализовывать.

 

Сделал ёпта.

 

$ ruby test.rb SEND+MORE=MONEY

9567 + 1085 = 10652

4.0ms

Поделиться сообщением


Ссылка на сообщение

Грац. Исходники?)

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

что-то типа

 

start = time.now()
puts '9567 + 1085 = 10652'
end = time.now()
puts start - end + 'ms'

 

думаю 4мс для вывода строки для руби самое то

 

 

 

 

 

а вообще молодец

Поделиться сообщением


Ссылка на сообщение

не, там 1 мс на вывод строки максимум будет, что в пределах погрешности измерений.

 

Ну либо у него i386.


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

я же пошутил :avtorklif:

Поделиться сообщением


Ссылка на сообщение

а я нет


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)

Лол ну короче там код нихуя не читабельный, рефакторить западло. Если кого-то интересует, могу на словах алгоритм пояснить.

 

 

 

 

 

def available_digits(map, letter)

return [0] unless letter

 

if value = map[letter]

[value]

else

(0..9).to_a - map.values

end

end

 

def solve(words, map, extra_ten = false)

words = words.dup

map = map.dup

 

last_step = [words[0].size, words[1].size].all? { |size| size == 0 || size == 1 }

 

part1_letter = words[0].chars.to_a.last

part2_letter = words[1].chars.to_a.last

 

if last_step && words[2].size == 2

prefix = true

prefix_sum_letter, sum_letter = words[2].chars.to_a

 

if value = map[prefix_sum_letter]

return unless value == 1

else

return if map.values.include?(1)

map[prefix_sum_letter] = 1

end

else

sum_letter = words[2].chars.to_a.last

end

 

available_digits(map, sum_letter).each do |sum|

new_sum_letter = true unless map[sum_letter]

map[sum_letter] = sum

 

sum -= 1 if extra_ten

sum += 10 if prefix

 

available_digits(map, part1_letter).each do |part1|

next if last_step && (part1_letter && part1 == 0)

 

if part1_letter

new_part1_letter = true unless map[part1_letter]

map[part1_letter] = part1

end

 

available_digits(map, part2_letter).each do |part2|

next if last_step && (part2_letter && part2 == 0)

 

if part1 + part2 == sum || (part1 + part2 == sum + 10 && !last_step)

if part2_letter

new_part2_letter = true unless map[part2_letter]

map[part2_letter] = part2

end

 

return map if last_step

 

chopped_words = words.map { |word| word.chop }

new_extra_ten = (part1 + part2 == sum + 10)

 

next_map = solve(chopped_words, map, new_extra_ten)

return next_map if next_map

 

map.delete(part2_letter) if new_part2_letter

end

end

 

map.delete(part1_letter) if new_part1_letter

end

 

map.delete(sum_letter) if new_sum_letter

end

 

nil

end

 

t = Time.now

 

input = ARGV.first

 

unless matchdata = input.to_s.match(/([A-Z]++)\+([A-Z]++)=([A-Z]++)/)

puts "Wrong input format"

exit

end

 

words = matchdata[1..3]

 

if map = solve(words, {})

words = words.map do |word|

map.each { |char, num| word.gsub!(char, num.to_s) }

word

end

 

puts "#{words[0]} + #{words[1]} = #{words[2]}"

puts "#{(Time.now - t)*1000}ms"

else

puts "No solution"

end

 

 

 


Изменено пользователем TycoooN

Поделиться сообщением


Ссылка на сообщение

рефакторь, не рефакторь, это же руби. Код всё равно останется хуйней


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

рефакторить код на руби это в прямом смысле что делать "из говна конфетку", из-за отсутствия { } код всё-равно никогда не будет нормально читаемым (это поэтому наверное они вводят в своих стандартах не больше пяти строк кода включая if end методы tolstovato.gif), а по быстродействию я не особо в курсе, но судя по тому что фейсбук в рельсах разворачивается одной строкой кода, то сомневаюсь, что можно вести речь хотя бы о какой-то оптимизации его быстродействия :nate:

 

в итоге польза рефакторинга кода на руби соотносится с делением 7-значных чисел в столбик на бумаге когда рядом режит калькулятор - поебать мозги всегда хорошо, но выбросить нахуй руби скорее всего будет намного более оптимальным решением

Поделиться сообщением


Ссылка на сообщение

Не, у руби охуенный синтаксис, а вы просто говноеды :nate:

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

end

end

 

map.delete(part1_letter) if new_part1_letter

end

 

map.delete(sum_letter) if new_sum_letter

end

 

nil

end

Поделиться сообщением


Ссылка на сообщение

говноедство это end end end end, а вот } } } } - это четко

 

я вот кстати вкинул в ноутпад++ этот код на руби и врубил соответствующую подсветку синтаксиса

лучше б я этого не делал, у меня волосы на дыбом встали, я разу вспомнил код на vbs с которым приходилось работать

Поделиться сообщением


Ссылка на сообщение

Да не, } это для лохоты помойной.

Поделиться сообщением


Ссылка на сообщение

сделали бы еще := для присваивания и = для сравнения и вообще збз было бы


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...