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

Hed-kun

Программирование, т. 5.1.

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

Жопой прочел, хуевый день у меня.


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

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


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

бля, чота я не могу придумать нормальный перебор средствами цикла чтоб пробовало поочерёдно все возможные комбинации

хоть бери и рекурсию хуярь

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


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

ну мне в голову нерекурсивного никакого не приодит

но рекурсией это по идее изи

 

ща подниму исходники старого решателя судоку который работал нерекурсивно и пошагово ебашил пошагово влево-справо, может смогу портировать это решение сюда

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


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

там как раз не циклами, кол-во операций должно быть где~то такое же

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

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


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

Ты хочешь сказать что у тебя сейчас решение n^2 или даже ниже?


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

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


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

 

 

Combo: -4, -2, -1, 1, 0,5, 2,5, 6, 7
Combo: -4, -2, -1, 1, 4, 5, 7
Combo: -4, -2, -1, 1, 6, 10
Combo: -4, -2, -1, 1, 5, 11
Combo: -4, -2, -1, 0,5, 2,5, 4, 10
Combo: -4, -2, -1, 4, 6, 7
Combo: -4, -2, -1, 6, 11
Combo: -4, -2, -1, 7, 10
Combo: -4, -2, 1, 0,5, 2,5, 5, 7
Combo: -4, -2, 1, 4, 6, 5
Combo: -4, -2, 1, 4, 11
Combo: -4, -2, 1, 5, 10
Combo: -4, -2, 0,5, 2,5, 6, 7
Combo: -4, -2, 4, 5, 7
Combo: -4, -2, 6, 10
Combo: -4, -2, 5, 11
Combo: -4, -1, 1, 0,5, 2,5, 4, 7
Combo: -4, -1, 1, 0,5, 2,5, 6, 5
Combo: -4, -1, 1, 0,5, 2,5, 11
Combo: -4, -1, 1, 4, 10
Combo: -4, -1, 0,5, 2,5, 5, 7
Combo: -4, -1, 4, 6, 5
Combo: -4, -1, 4, 11
Combo: -4, -1, 5, 10
Combo: -4, 1, 0,5, 2,5, 4, 6
Combo: -4, 1, 0,5, 2,5, 10
Combo: -4, 1, 6, 7
Combo: -4, 0,5, 2,5, 4, 7
Combo: -4, 0,5, 2,5, 6, 5
Combo: -4, 0,5, 2,5, 11
Combo: -4, 4, 10
Combo: -2, -1, 1, 0,5, 2,5, 4, 5
Combo: -2, -1, 1, 5, 7
Combo: -2, -1, 0,5, 2,5, 4, 6
Combo: -2, -1, 0,5, 2,5, 10
Combo: -2, -1, 6, 7
Combo: -2, 1, 4, 7
Combo: -2, 1, 6, 5
Combo: -2, 1, 11
Combo: -2, 0,5, 2,5, 4, 5
Combo: -2, 5, 7
Combo: -1, 1, 0,5, 2,5, 7
Combo: -1, 1, 4, 6
Combo: -1, 1, 10
Combo: -1, 4, 7
Combo: -1, 6, 5
Combo: -1, 11
Combo: 1, 0,5, 2,5, 6
Combo: 1, 4, 5
Combo: 0,5, 2,5, 7
Combo: 4, 6
Combo: 10

 

 

 

там вообще прилично побольше чем n^2, разве нет?

операции-то на каждом вызове, а не только на конечных точках

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


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

После того как я проиграл (и понял что там ебанутая сложность) полез гуглить ради науки

http://stackoverflow...ach-a-given-sum

Там чувак с заплюсованным ответом пишет что сложность 2^n, то есть при 10 элементах будет 1024 итерации.

Или я не то нагуглил?


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

userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

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


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

хз, изи решается же

Stack *st=NULL;
for(int i=0;i<length;i++){
 if(a[i]<=10){
  Push(&st,a[i]);
  foo(i,10-a[i],&st);
  while(st!=NULL)
Pop(&st);
 }
}

return 0;
}

void foo(int i, int s, Stack **st){
for(int j=i+1;j<length;j++){
 if(a[j]<=s){
  Push(st,a[j]);
  foo(j,s-a[j],st);
 }
}
if(s==0){
 printf_stack(st);
}
Pop(st);
}

 

 

эх, ща бы в яндекс устроиться big26.gif


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

^ↀᴥↀ^

OblongCarelessKitfox.gif

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


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

хз, изи решается же

Stack *st=NULL;
for(int i=0;i<length;i++){
 if(a[i]<=10){
  Push(&st,a[i]);
  foo(i,10-a[i],&st);
  while(st!=NULL)
Pop(&st);
 }
}

return 0;
}

void foo(int i, int s, Stack **st){
for(int j=i+1;j<length;j++){
 if(a[j]<=s){
  Push(st,a[j]);
  foo(j,s-a[j],st);
 }
}
if(s==0){
 printf_stack(st);
}
Pop(st);
}

да, правильно, вообще говоря можно было ограничется одной функцией

Мобильное приложение для продоты https://play.google....id=ru.prodota.m

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


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

       static float[] arr = { -4, -2, -1, 1, 0.5F, 2.5F, 4, 6, 5, 7, 10, 11 };
       static List<int> list = new List<int>();

       static int findNext(int i, float summ)
       {
           summ += arr[i];

           if (summ == 10.0)
           {
               printf(list, i);
           }
           else if (summ < 10.0)
           {
               list.Add(i);

               for (int j = i + 1; j < arr.Length; j++)
                   findNext(j, summ);

               list.Remove(i);
           }
           return 0;
       }


       static void Main(string[] args)
       {
           list.Clear();
           for (int i = 0; i < arr.Length; i++)
           {
               findNext(i, 0);
           }
       }

у меня финальный вариант такой получился

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


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

import java.util.HashMap;
import java.util.Map;
import java.util.stream.IntStream;
public class Main {
static final int DESIRED_SUM = 10;
static double[] values = {-4, -2, -1, 0, 0, 1, 0.5, 2.5, 4, 6, 5, 7, 10, 11};
public static void main(String[] args) {
	Map<Integer, Integer> matchedIndexes = new HashMap<>();
	IntStream.range(0, values.length)
			.forEach(x -> IntStream.range(x + 1, values.length)
					.filter(f -> !matchedIndexes.containsValue(f))
					.forEach(y -> {
						if (values[x] + values[y] == DESIRED_SUM)
							matchedIndexes.put(x, y);
						return;
					}));
	matchedIndexes.forEach((x, y) -> System.out.println(values[x] + " " + values[y]));
}
}

 

-1.0 11.0

0.0 10.0

4.0 6.0

 

Process finished with exit code 0

 

http://pastie.org/10021488


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

топ(не сортированный) уебанов:

 

 

1. Русверм

2. Артас

3. _rS

4. Mark.0FF.ka

5. sokol-cool

6. PeaveHeaver

 

 

 

 

 

 

трипл стил огрызок

ап такая же часть игры как и цм

к тому же намного более доступная и распространённая

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

Как думаешь,ох вейт,бля,ну похуй попробуешь разок,как думаешь скок набьет санта на аптб на врке с шейклами 5? 7? 1?

такую хуиту несешь пиздец вообще

при чом тут скилл игрока в игре,и то что он на цм не играет,ты вообще уебок чтоле?

цм-60/40 тактика скилл

аптб 20/80,ну тут тактика не в привычном понимании,а как наличие плана на игру на подходящем герое

вощем короче пока лост не сделает 40-0 на бисте аптб - он такая же хуйня как и артас,и не играет аптб ток потому что боится

аххахахахахаха

 

 

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


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

import java.util.HashMap;
import java.util.Map;
import java.util.stream.IntStream;
public class Main {
static final int DESIRED_SUM = 10;
static double[] values = {-4, -2, -1, 0, 0, 1, 0.5, 2.5, 4, 6, 5, 7, 10, 11};
public static void main(String[] args) {
	Map<Integer, Integer> matchedIndexes = new HashMap<>();
	IntStream.range(0, values.length)
			.forEach(x -> IntStream.range(x + 1, values.length)
					.filter(f -> !matchedIndexes.containsValue(f))
					.forEach(y -> {
						if (values[x] + values[y] == DESIRED_SUM)
							matchedIndexes.put(x, y);
						return;
					}));
	matchedIndexes.forEach((x, y) -> System.out.println(values[x] + " " + values[y]));
}
}

 

http://pastie.org/10021488

это выглядит как поиск только пар, а не всех комбинаций, нет?

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


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

import java.util.HashMap;
import java.util.Map;
import java.util.stream.IntStream;
public class Main {
static final int DESIRED_SUM = 10;
static double[] values = {-4, -2, -1, 0, 0, 1, 0.5, 2.5, 4, 6, 5, 7, 10, 11};
public static void main(String[] args) {
	Map<Integer, Integer> matchedIndexes = new HashMap<>();
	IntStream.range(0, values.length)
			.forEach(x -> IntStream.range(x + 1, values.length)
					.filter(f -> !matchedIndexes.containsValue(f))
					.forEach(y -> {
						if (values[x] + values[y] == DESIRED_SUM)
							matchedIndexes.put(x, y);
						return;
					}));
	matchedIndexes.forEach((x, y) -> System.out.println(values[x] + " " + values[y]));
}
}

 

http://pastie.org/10021488

это выглядит как поиск только пар, а не всех комбинаций, нет?

так и есть , походу

Мобильное приложение для продоты https://play.google....id=ru.prodota.m

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


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

Опубликовано 50 минут назад

Жопой прочел, хуевый день у меня.

same shit :avtorklif:

сейчас с комбинациями попробую


топ(не сортированный) уебанов:

 

 

1. Русверм

2. Артас

3. _rS

4. Mark.0FF.ka

5. sokol-cool

6. PeaveHeaver

 

 

 

 

 

 

трипл стил огрызок

ап такая же часть игры как и цм

к тому же намного более доступная и распространённая

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

Как думаешь,ох вейт,бля,ну похуй попробуешь разок,как думаешь скок набьет санта на аптб на врке с шейклами 5? 7? 1?

такую хуиту несешь пиздец вообще

при чом тут скилл игрока в игре,и то что он на цм не играет,ты вообще уебок чтоле?

цм-60/40 тактика скилл

аптб 20/80,ну тут тактика не в привычном понимании,а как наличие плана на игру на подходящем герое

вощем короче пока лост не сделает 40-0 на бисте аптб - он такая же хуйня как и артас,и не играет аптб ток потому что боится

аххахахахахаха

 

 

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


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

ага

а ещё оно игнорит одинаковые цифры, которые имея разные индексы валидны как разные элементы

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


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

Ребят, подкиньте идею для "домашнего" проекта(сайта) ?

Сам чуть меньше года работаю на ASP, но последнее время у нас не проекты а херня скучная. В обозримом будущем планирую свалить заграницу, потому решил освежить свои знания, а идей никаких нету :palevo:

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


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

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