Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.20 KB | None | 0 0
  1. Alex (13:53:59 22/10/2010)
  2. Alex (13:50:44 22/10/2010)
  3. Snark (13:45:07 22/10/2010)
  4. repeat pls
  5. Snark (13:45:20 22/10/2010)
  6. wrong encoding
  7. Alex (13:45:39 22/10/2010)
  8. Zdravstvyite, kogda bydyt zimnie sbori v PZ?
  9. Snark (13:46:57 22/10/2010)
  10. 26 jan - 5 feb
  11. Snark (13:47:05 22/10/2010)
  12. кстати, поздравляю с победой
  13. Alex (13:47:16 22/10/2010)
  14. Spasibo! :)
  15. Витя Баринов (13:51:22 22/10/2010)
  16. :-)
  17. Alex (13:52:01 22/10/2010)
  18. если Харьков будет с 10 по 20 мы успеем туда сгонять )
  19. Витя Баринов (13:52:28 22/10/2010)
  20. туда, это куда?
  21. Alex (13:52:42 22/10/2010)
  22. Харьков
  23. Витя Баринов (13:52:51 22/10/2010)
  24. угу, будет вообще клево
  25. Витя Баринов (13:53:00 22/10/2010)
  26. от меня жена уйдет
  27. Alex (13:53:10 22/10/2010)
  28. финал того стоит :)
  29. Витя Баринов (13:53:22 22/10/2010)
  30. иди ты
  31.  
  32.  
  33. Вован (14:51:17 22/10/2010)
  34. Саша, почему ты создаешь массив am, на 1 << ((width * (width - 1)) / 2)
  35.  
  36.  
  37. Alex (14:51:36 22/10/2010)
  38. количество пар будет ((width * (width - 1)) / 2)
  39.  
  40.  
  41. Alex (14:51:42 22/10/2010)
  42. нам надо хранить множество этих пар
  43.  
  44.  
  45. Alex (14:51:52 22/10/2010)
  46. какие были каких нет
  47.  
  48.  
  49. Вован (14:56:29 22/10/2010)
  50. это кол-во способов поставить 2 индекса на полосе длиной width?
  51.  
  52.  
  53. Alex (14:56:34 22/10/2010)
  54. да
  55.  
  56.  
  57. Alex (14:56:45 22/10/2010)
  58. левый и правый угол
  59.  
  60.  
  61. Alex (15:16:34 22/10/2010)
  62. на acm.ro фотки появились
  63.  
  64.  
  65. Вован (15:16:45 22/10/2010)
  66. угу, я видел :)
  67.  
  68.  
  69. Alex (15:16:51 22/10/2010)
  70. чо не сказал
  71.  
  72.  
  73. Вован (15:16:53 22/10/2010)
  74. понравилось?)
  75.  
  76.  
  77. Вован (15:17:01 22/10/2010)
  78. я думал что ты то же видел
  79.  
  80.  
  81. Вован (15:17:13 22/10/2010)
  82. мы наверно на этот сайт теперь заходим чаще всего :)
  83.  
  84.  
  85. Alex (15:33:05 22/10/2010)
  86. :) чо у тебя с 500
  87.  
  88.  
  89. Вован (15:33:19 22/10/2010)
  90. сижу смотрю
  91.  
  92.  
  93. Вован (15:33:26 22/10/2010)
  94. пока не могу понять
  95.  
  96.  
  97. Alex (15:33:29 22/10/2010)
  98. в окно? )
  99.  
  100.  
  101. Вован (15:33:35 22/10/2010)
  102. в твой код :)
  103.  
  104.  
  105. Alex (15:33:44 22/10/2010)
  106. чо не понятно
  107.  
  108.  
  109. Вован (15:34:13 22/10/2010)
  110. что значит цикл по black? и как ты потом используешь эту переменную?
  111.  
  112.  
  113. Alex (15:34:23 22/10/2010)
  114. black white это маски
  115.  
  116.  
  117. Вован (15:34:28 22/10/2010)
  118. угу
  119.  
  120.  
  121. Alex (15:34:32 22/10/2010)
  122. маска хранит какие пары углов уже были а какие нет
  123.  
  124.  
  125. Alex (15:34:41 22/10/2010)
  126. используется это в
  127. if ((black & nblack) != 0 || (white & nwhite) != 0) {
  128. continue;
  129. }
  130.  
  131.  
  132. Вован (15:34:54 22/10/2010)
  133. am[black][white] - кол-во валидных прямоугольников
  134.  
  135.  
  136. Вован (15:34:56 22/10/2010)
  137. ?
  138.  
  139.  
  140. Alex (15:35:00 22/10/2010)
  141. нет
  142.  
  143.  
  144. Вован (15:35:08 22/10/2010)
  145. аааа
  146.  
  147.  
  148. Alex (15:35:19 22/10/2010)
  149. количество способов замостить первые ряды
  150.  
  151.  
  152. Alex (15:35:25 22/10/2010)
  153. так что получились маски black white
  154.  
  155.  
  156. Alex (15:35:30 22/10/2010)
  157. маски уголков
  158.  
  159.  
  160. Вован (15:35:37 22/10/2010)
  161. это мы смотри то что уже установлено, а потом пытаемся подобрать 2 других варианты, чтоб ничего не нарушилось? :)
  162.  
  163.  
  164. Alex (15:36:03 22/10/2010)
  165. почему 2 других ? мы перебираем все возможные замощения для следующего ряда в цикле
  166. for (int set = 0; set < (1 << width); ++set) {
  167.  
  168.  
  169. Alex (15:36:13 22/10/2010)
  170. проверяем что оно не противоречит с исходной доской
  171.  
  172. boolean ok = true;
  173. for (int i = 0; i < width; ++i) {
  174. if (row[i] == 'B' && get(set, i) == false) {
  175. ok = false;
  176. break;
  177. }
  178. if (row[i] == 'W' && get(set, i) == true) {
  179. ok = false;
  180. break;
  181. }
  182. }
  183.  
  184.  
  185. Вован (15:36:14 22/10/2010)
  186. ок, точно :)
  187.  
  188.  
  189. Вован (15:36:26 22/10/2010)
  190. да, мне твой код нравится все больше и больше :)
  191.  
  192.  
  193. Alex (15:36:27 22/10/2010)
  194. составляем новые маски уголков
  195.  
  196. int nblack = 0;
  197. int nwhite = 0;
  198. for (int i = 0; i < width; ++i) {
  199. for (int j = i + 1; j < width; ++j) {
  200. if (get(set, i) && get(set, j)) {
  201. nblack |= (1 << calculateIndex(i, j, width));
  202. }
  203. if (!get(set, i) && !get(set, j)) {
  204. nwhite |= (1 << calculateIndex(i, j, width));
  205. }
  206. }
  207. }
  208.  
  209.  
  210. Alex (15:37:06 22/10/2010)
  211. если это нарушилось
  212.  
  213. if ((black & nblack) != 0 || (white & nwhite) != 0) {
  214. continue;
  215. }
  216.  
  217. то получается что попались одинаковые черные или белые уголки то есть получился прямоугольник, значит хреново
  218.  
  219.  
  220. Alex (15:37:18 22/10/2010)
  221. иначе все ОК
  222. next[black | nblack][white | nwhite] += am[black][white]; прибавляем количество способов
  223.  
  224.  
  225. Alex (15:37:28 22/10/2010)
  226. | используется потому что появились новые уголки
  227.  
  228.  
  229. Alex (15:38:23 22/10/2010)
  230. calculateIndex(i, j, width) эта функция которая определяет порядковый индекс нужной нам пары
  231.  
  232.  
  233. Alex (15:51:20 22/10/2010)
  234. разобрался?
  235.  
  236.  
  237. Вован (16:23:20 22/10/2010)
  238. ты что-то писал?
  239.  
  240.  
  241. Вован (16:23:23 22/10/2010)
  242. я уходил
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement