Zamknięty przez: widzu 2018-05-03, 14:16
Pierwsze Mikołajki Forumowe
Autor
Wiadomość
Moris299
Człowiek-Węgiel Deus Ex Machinae
Wiek: 299
Dołączyła: 20 Wrz 2013 Posty: 20027 Skąd: Novigrad Medale: 33 (Więcej... )
Wysłany: 2017-11-14, 00:49
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 00:53
Mój jest lepszy przecież.
[ Dodano : 2017-11-14, 00:55 ]
Love to tylko jeden wielki cykl a mój uwzględnia minicykle i pary. Jest większa losowość wyników
[ Dodano : 2017-11-14, 00:56 ]
Z moim może być np
1-2
2-3
3-1
4-5
5-4
6-7
7-8
8-6
[ Dodano : 2017-11-14, 00:57 ]
A w love tylko jeden wielki cykl zaczynający się na 1 i kończący ma 8
[ Dodano : 2017-11-14, 01:40 ]
Chuj tam, przecież to można na głupiego losować w nieskończoność aż wszystko będzie różne i napisać wszystko w mniej niżtrzy minuty. Właśnie to zrobiłem.
Kod: #include <iostream>
#include <vector>
#include <algorithm>
#include <random>
int main(int argc, char *argv[])
{
std::vector<std::string> nadajacy = {"Mormegil",
"ChodnikowyWilk",
"Dead_Laugh",
"Love178",
"Lilith_Madness",
"icywind",
"manciara9",
"Mackers",
"macbed",
"widzu",
"Moris299",
"Mistress9",
"krojechleb",
"Nadir",
"InessaMaximova",
"emoo137" };
std::vector<std::string> odbierajacy = nadajacy;
std::random_device rd;
std::mt19937 g(rd());
bool dobranePanowie = false;
while(!dobranePanowie)
{
std::shuffle(nadajacy.begin(), nadajacy.end(), g);
std::shuffle(odbierajacy.begin(), odbierajacy.end(), g);
int i = 0;
for(i = 0; i < nadajacy.size(); i++)
{
if(nadajacy[i] == odbierajacy[i])
{
break;
}
}
if(i == nadajacy.size())
dobranePanowie = true;
}
for(int i = 0; i < nadajacy.size(); i++)
{
std::cout << nadajacy[i] << " wysyła paczkę " << odbierajacy[i] << std::endl;
}
return 0;
}
borze jakie to chujowe.... nie wzorujcie się na takim gównie... ale działa xD
macbed wysyła paczkę Dead_Laugh
Dead_Laugh wysyła paczkę InessaMaximova
Nadir wysyła paczkę icywind
Love178 wysyła paczkę Mormegil
krojechleb wysyła paczkę Mistress9
Mackers wysyła paczkę widzu
emoo137 wysyła paczkę krojechleb
Moris299 wysyła paczkę Nadir
widzu wysyła paczkę Mackers
icywind wysyła paczkę emoo137
ChodnikowyWilk wysyła paczkę macbed
InessaMaximova wysyła paczkę manciara9
Mistress9 wysyła paczkę ChodnikowyWilk
Mormegil wysyła paczkę Love178
Lilith_Madness wysyła paczkę Moris299
manciara9 wysyła paczkę Lilith_Madness
Ostatnio zmieniony przez icywind 2017-11-14, 00:55, w całości zmieniany 1 raz
Moris299
Człowiek-Węgiel Deus Ex Machinae
Wiek: 299
Dołączyła: 20 Wrz 2013 Posty: 20027 Skąd: Novigrad Medale: 33 (Więcej... )
Wysłany: 2017-11-14, 01:44
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 01:45
Nie wiem po co ja w ogóle obie listy tasuje jak wystarczy jedną ale chuj, jakie forum taki program losujący.
widzu
Junior Admin To co wpiszesz, będzie pod twoim nickiem.
Wiek: 2 k
Dołączył: 25 Lis 2013 Posty: 22221 Skąd: Village killed by planks Medale: 14 (Więcej... )
Wysłany: 2017-11-14, 01:47
Dobra, no, wygrałeś, użyję tego programu, ale nie mam zamiaru robić żadnych livów ani tego nagrywać. -,-
[ Dodano : 2017-11-14, 01:59 ]
To znaczy będzie kilka losowań, bo niektórzy nie mogą paczkomatow w ogóle, albo tylko nadawać...
Eh, jakoś to rozwiąże, mniej lub bardziej logicznie, ale będzie sprawiedliwie.
Odrobinę zaufania
_________________ Tekst podpisu:
Podpis - dozwolona ilość znaków: 3000
Mormegil
merungl
Wiek: 21
Dołączył: 07 Sie 2015 Posty: 4613 Medale: 2 (Więcej... )
Wysłany: 2017-11-14, 08:02
icywind napisał/a: Love178 wysyła paczkę Mormegil
Mormegil wysyła paczkę Love178
Świetne losowanko xd
_________________
Mistress9
Fashion is not an island
Wiek: 26
Dołączyła: 06 Sty 2015 Posty: 2704 Skąd: Rzeszów Medale: 7 (Więcej... )
Wysłany: 2017-11-14, 14:06
Ja też napisałam, w Pythonie xD
Kod: import random
mistrzowie1 = ['ChodnikowyWilk', 'Dead_Laugh', 'emoo137', 'icywind', 'InessaMaximova',
'krojechleb','Love178', 'macbed', 'Mackers', 'manciara9',
'Mistress9', 'Moris299', 'Mormegil', 'Nadir', 'widzu']
mistrzowie2 = ['ChodnikowyWilk', 'Dead_Laugh', 'emoo137', 'icywind', 'InessaMaximova',
'krojechleb','Love178', 'macbed', 'Mackers', 'manciara9',
'Mistress9', 'Moris299', 'Mormegil', 'Nadir', 'widzu']
def mikolaj():
for i in range(len(mistrzowie1)):
ran = random.choice(mistrzowie2)
if mistrzowie1[i] == ran:
ran2 = random.choice(mistrzowie2)
print (mistrzowie1[i], 'wysyla', ran2)
mistrzowie2.remove(ran2)
else:
print (mistrzowie1[i], 'wysyla', ran)
mistrzowie2.remove(ran)
mikolaj()
[ Dodano : 2017-11-14, 14:11 ]
Chociaż może takie lepsze, bardziej randomowe:
Kod: import random
mistrzowie1 = ['ChodnikowyWilk', 'Dead_Laugh', 'emoo137', 'icywind', 'InessaMaximova',
'krojechleb','Love178', 'macbed', 'Mackers', 'manciara9',
'Mistress9', 'Moris299', 'Mormegil', 'Nadir', 'widzu']
mistrzowie2 = ['ChodnikowyWilk', 'Dead_Laugh', 'emoo137', 'icywind', 'InessaMaximova',
'krojechleb','Love178', 'macbed', 'Mackers', 'manciara9',
'Mistress9', 'Moris299', 'Mormegil', 'Nadir', 'widzu']
def mikolaj():
for i in range(len(mistrzowie1)):
mis = random.choice(mistrzowie1)
ran = random.choice(mistrzowie2)
if mis == ran:
ran2 = random.choice(mistrzowie2)
print (mis, 'wysyla', ran2)
mistrzowie1.remove(mis)
mistrzowie2.remove(ran2)
else:
print (mis, 'wysyla', ran)
mistrzowie1.remove(mis)
mistrzowie2.remove(ran)
mikolaj()
Hie, hie
emoo137 wysyla ChodnikowyWilk
manciara9 wysyla Mackers
Moris299 wysyla krojechleb
Dead_Laugh wysyla Moris299
icywind wysyla widzu
Nadir wysyla InessaMaximova
macbed wysyla Mistress9
krojechleb wysyla Love178
Love178 wysyla emoo137
InessaMaximova wysyla manciara9
Mistress9 wysyla macbed
ChodnikowyWilk wysyla Mormegil
widzu wysyla icywind
Mackers wysyla Dead_Laugh
Mormegil wysyla Nadir
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 14:16
Tak lepiej
Kod: import random
mistrzowie1 = ['ChodnikowyWilk', 'Dead_Laugh', 'emoo137', 'icywind', 'InessaMaximova',
'krojechleb','Love178', 'macbed', 'Mackers', 'manciara9',
'Mistress9', 'Moris299', 'Mormegil', 'Nadir', 'widzu']
mistrzowie2 = list(mistrzowie1)
def mikolaj():
for i in range(len(mistrzowie1)):
ran = random.choice(mistrzowie2)
if mistrzowie1[i] == ran:
ran2 = random.choice(mistrzowie2)
print (mistrzowie1[i], 'wysyla', ran2)
mistrzowie2.remove(ran2)
else:
print (mistrzowie1[i], 'wysyla', ran)
mistrzowie2.remove(ran)
mikolaj()
('ChodnikowyWilk', 'wysyla', 'macbed')
('Dead_Laugh', 'wysyla', 'icywind')
('emoo137', 'wysyla', 'Love178')
('icywind', 'wysyla', 'Nadir')
('InessaMaximova', 'wysyla', 'Mormegil')
('krojechleb', 'wysyla', 'manciara9')
('Love178', 'wysyla', 'Dead_Laugh')
('macbed', 'wysyla', 'ChodnikowyWilk')
('Mackers', 'wysyla', 'krojechleb')
('manciara9', 'wysyla', 'Mackers')
('Mistress9', 'wysyla', 'Moris299')
('Moris299', 'wysyla', 'emoo137')
('Mormegil', 'wysyla', 'widzu')
('Nadir', 'wysyla', 'Mistress9')
('widzu', 'wysyla', 'InessaMaximova')
Bierzemy tą listę, nic nie trzeba zmieniać
Dead_Laugh
Loża Szyderców Friend or traitor, come
Wiek: 23
Dołączył: 21 Kwi 2015 Posty: 4021 Skąd: W klatce Skinnera Medale: 9 (Więcej... )
Wysłany: 2017-11-14, 14:19
XD
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 14:20
widzu napisał/a:
To znaczy będzie kilka losowań, bo niektórzy nie mogą paczkomatow w ogóle, albo tylko nadawać...
Eh, jakoś to rozwiąże, mniej lub bardziej logicznie, ale będzie sprawiedliwie.
Wytłumacz mi jak to ma działać to dopiszę klasę i metodę porównującą czy osoba1 może wysłać do osoby2
Wykona to się 300 razy zanim dobierze odpowiednie wyniki ale czo tam xD
Mistress9 napisał/a: import random
mistrzowie1 = ['ChodnikowyWilk', 'Dead_Laugh', 'emoo137', 'icywind', 'InessaMaximova',
'krojechleb','Love178', 'macbed', 'Mackers', 'manciara9',
'Mistress9', 'Moris299', 'Mormegil', 'Nadir', 'widzu']
mistrzowie2 = ['ChodnikowyWilk', 'Dead_Laugh', 'emoo137', 'icywind', 'InessaMaximova',
'krojechleb','Love178', 'macbed', 'Mackers', 'manciara9',
'Mistress9', 'Moris299', 'Mormegil', 'Nadir', 'widzu']
def mikolaj():
for i in range(len(mistrzowie1)):
mis = random.choice(mistrzowie1)
ran = random.choice(mistrzowie2)
if mis == ran:
ran2 = random.choice(mistrzowie2)
print (mis, 'wysyla', ran2)
mistrzowie1.remove(mis)
mistrzowie2.remove(ran2)
else:
print (mis, 'wysyla', ran)
mistrzowie1.remove(mis)
mistrzowie2.remove(ran)
mikolaj()
('emoo137', 'wysyla', 'emoo137')
('Dead_Laugh', 'wysyla', 'ChodnikowyWilk')
('ChodnikowyWilk', 'wysyla', 'Dead_Laugh')
Ostatnio zmieniony przez icywind 2017-11-14, 14:23, w całości zmieniany 1 raz
Mistress9
Fashion is not an island
Wiek: 26
Dołączyła: 06 Sty 2015 Posty: 2704 Skąd: Rzeszów Medale: 7 (Więcej... )
Wysłany: 2017-11-14, 14:22
No to chyba wtedy się ustali między sobą jaka wysyłka? XD
[ Dodano : 2017-11-14, 14:23 ]
icywind jakim cudem Ci takie cos powychodziło? pamiętaj o wcięciach też
_________________
Moris299
Człowiek-Węgiel Deus Ex Machinae
Wiek: 299
Dołączyła: 20 Wrz 2013 Posty: 20027 Skąd: Novigrad Medale: 33 (Więcej... )
Wysłany: 2017-11-14, 14:23
gdybym miał czas to bym to napisał ale zaraz jadę do holandii
[ Dodano : 2017-11-14, 14:24 ]
forum.programisci15k.org
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 14:24
Mistress9 napisał/a: icywind jakim cudem Ci takie cos powychodziło? pamiętaj o wcięciach też
Pamiętam, nie jestem idiotą
weź zostaw tylko trzy osoby i puść kilka razy aż tak wyjdzie. Jest szansa, że wszyscy się polosują i na końcu zostanie tylko jedna osoba. Tłumaczyłem to parę stron wcześniej, że trzeba by wtedy powtórzyć losując ręcznie
Ostatnio zmieniony przez icywind 2017-11-14, 14:25, w całości zmieniany 1 raz
Mistress9
Fashion is not an island
Wiek: 26
Dołączyła: 06 Sty 2015 Posty: 2704 Skąd: Rzeszów Medale: 7 (Więcej... )
Wysłany: 2017-11-14, 14:26
Mi ani razu nie wyszło żeby ktoś wysłał do siebie (zreszta po to jest warunek XD) ani zeby nadawca wyslal adresatowi i ten sam adresat nadawcy (to, co wrzucilam jako wynik to śmieszek taki)
[ Dodano : 2017-11-14, 14:26 ]
icywind napisał/a: Mistress9 napisał/a: icywind jakim cudem Ci takie cos powychodziło? pamiętaj o wcięciach też
Pamiętam, nie jestem idiotą
weź zostaw tylko trzy osoby i puść kilka razy aż tak wyjdzie. Jest szansa, że wszyscy się polosują i na końcu zostanie tylko jedna osoba. Tłumaczyłem to parę stron wcześniej, że trzeba by wtedy powtórzyć losując ręcznie
Wiesz jakie jest na to prawdopodobieństwo? XD Dlatego najlepiej odpalić streama i puścić raz program i już, ewentualnie powtórzyć losowanie.
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 14:27
Mistress9 napisał/a: Wiesz jakie jest na to prawdopodobieństwo? XD Dlatego najlepiej odpalić streama i puścić raz program i już, ewentualnie powtórzyć losowanie.
Wiem, ale jest xD
_________________
Mistress9
Fashion is not an island
Wiek: 26
Dołączyła: 06 Sty 2015 Posty: 2704 Skąd: Rzeszów Medale: 7 (Więcej... )
Wysłany: 2017-11-14, 14:28
Szukasz dziury w całym XD
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 14:30
Trzeba takie rzeczy uwzględnić programując poważne rzeczy na forum miszczów. Dlatego użyłem cudownego i niesamowicie efektywnego algorytmu "tasuj losowo aż to wyjdzie"
[ Dodano : 2017-11-14, 14:30 ]
W ogóle to program nazwałem Generator Świąt
_________________
Mistress9
Fashion is not an island
Wiek: 26
Dołączyła: 06 Sty 2015 Posty: 2704 Skąd: Rzeszów Medale: 7 (Więcej... )
Wysłany: 2017-11-14, 14:31
Oh my, moze po prostu faktycznie klasycznie stream + dwa pudelka z karteczkami
[ Dodano : 2017-11-14, 14:31 ]
icywind napisał/a:
W ogóle to program nazwałem Generator Świąt
_________________
icywind
Loża Szyderców+ Papież
Dołączył: 06 Lut 2014 Posty: 19237 Medale: 26 (Więcej... )
Wysłany: 2017-11-14, 14:36
Mistress9 napisał/a: Oh my, moze po prostu faktycznie klasycznie stream + dwa pudelka z karteczkami
Widzu tego nie zrobi. Poza tym mój program działa doskonale za każdym razem, jeszcze tylko dopisać metodę porównującą sposoby wysyłania
_________________
Moris299
Człowiek-Węgiel Deus Ex Machinae
Wiek: 299
Dołączyła: 20 Wrz 2013 Posty: 20027 Skąd: Novigrad Medale: 33 (Więcej... )
Wysłany: 2017-11-14, 14:39
A nie możemy wszyscy wysłać po prostu poczta? Będzie chyba najtaniej.
_________________
Nie możesz pisać nowych tematówNie możesz odpowiadać w tematachNie możesz zmieniać swoich postówNie możesz usuwać swoich postówNie możesz głosować w ankietachNie możesz załączać plików na tym forumMożesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych Wersja do druku
Strona wygenerowana w 0.172 sekundy. Zapytań do SQL: 32