wieiner_ - GraPa : Graph Painter
[Recent Entries][Archive][Friends][User Info]
[игры]
06:08 pm
[Link] |
GraPa : Graph Painter нучо! накидал за вчера Германец Вам Пейнт фотошопный:
https://github.com/wieiner/grapa.git
вобщем, за 1 день напейсах "прАгрАмму" для расчета техномагических многогранников. на MSVC++:
задаешь массив связей между обьектами, задаешь массив обьектов, задаешь алфавит символов для расчета, она и строит в несколько потоков (а скоко у вас ядер?), рассчитывает связи многогранника.
вобщем-то, в программе недостаток в том, что нужно еще сделать автоперезапуск, чтобы если свет отрубят, оно не сначала считало, а продолжало с последнего автосейва и еще возможность разделить задачу расчета не только между потоками, но и между процессами (типа .ini-файл в котором можно задать диапазон перебора комбинаций, а не чтобі от 0 до МАХ шпарило)
основные процедуркі -- две: calc() и proof(). первая генерит последовательность раскраски графа, а вторая апрувит или банит. (причем вторая візівается из первой). вот они собсно:
void grapainter::calculate(int idelta, int igap) {
fs.open("log"+ to_string(idelta+1) +".txt", std::fstream::in | std::fstream::out | std::fstream::app);
cout << "tread " << idelta+1 << " started" << endl; fs << "tread " << idelta+1 << " started" << endl;
int l = gralinks.size(); long long len = pow1(numABC , l); cout << " number of steps of calculation = " << len << endl; for (long long i = idelta; i < (long long)len; i+= igap ) { if ((i % 8000000) == 0) cout << "calculation step #" << i << " passed.. it is " << (( (long double)1.0 / (len / ((long long)(1+idelta)*i+1))) * 10000)/100 << " percent of work.." << endl; for (int j = 0; j < l; j++) { long long p = pow1(numABC, j+1); long long remndr = i - (i / p)* p; //otrezali werchnie razrjady remndr = remndr / (pow1(numABC, j)); gralinks[j].a = remndr; }
proof(); }
fs << endl << "calculate_mthrded() ended " << endl; fs.close(); return; }
bool grapainter::proof() { static int i = 0; i++; bool isNotAllSymbolsUsed = false; int* bv = new int[numABC+1]; for (auto a : grobj) { for (int k = 0; k <= numABC; k++) bv[k] = 0; for (auto l : a.inner_gralinks) { if (gralinks[l].a < 0) bv[numABC]++; else bv[gralinks[l].a]++; } if (bv[numABC]) { fs << endl << "combination " << i << ") error not attributed link found" << endl; return false; } for (int k = 0; k < numABC; k++) if (bv[k] > 1) { //it is not good combination. return delete[] bv; bv = nullptr; return false; } else if (bv[k] == 0) isNotAllSymbolsUsed = true; }
//ok! godgiven combination found. will record it! fs << endl << i << ") "; if (isNotAllSymbolsUsed) fs << "NOT ALL SYMBOLS USED |"; for (auto a : gralinks) fs << "name " << a.name << " a = " << namesABC[a.a] << " | "; delete[] bv; bv = nullptr; return true; }
_______________________ current music: ну простенькое: намешАть, чтобы поить Вениамина, чтобы играть с ним в Шахматы, чтобы не Умер.
Current Mood: bored Current Music: https://www.youtube.com/watch?v=NTiaCV47-bw
|
|
|
From: | (Anonymous) |
Date: | February 8th, 2020 - 07:42 pm |
---|
| | | (Link) |
|
уважаю процедурное програмирование, в этом всё ! но можно было переменные задать и немного там есть ошибки, конечно
какой ВАМ В ШЛЯПУ, процедурное программирование
разуй глаза, ядрен батон. кураторы вам не наливают штоле?
From: | (Anonymous) |
Date: | February 8th, 2020 - 08:16 pm |
---|
| | | (Link) |
|
слышыш писюн. если тебе говворят что там есть ошибки, это не значит что их там нет
блин, скем я разговариваю. да у тебя же в ДНК ошибки!
From: | (Anonymous) |
Date: | February 9th, 2020 - 01:23 am |
---|
| | | (Link) |
|
lol
вен-нник, вен-нник шизоХрен-нник!
From: | (Anonymous) |
Date: | February 8th, 2020 - 09:46 pm |
---|
| | | (Link) |
|
Покажи 1 результат работы твоей программы. Что в итоге она должна высчитать?
рассчитывает значения ребер (отрезков, соединяющих вершины или связей) в некотором заданном наборе из символов (алфавите). фишка в том, чтобы все ребра в пределах одной вершины (одного обьекта) были названы разными символами. тоесть чтобы у вершины не было ребер одинаковых типов (одинаковых связей).
ниже -- это пример рассчитанных связей между обьектами (ребер) и количество комбинаций, которые нужно проверить для каждого типа многогранника(number of steps of calculation)
grawitahedra: ====================== number of steps of calculation = 101559956668416
101 559 956 668 416
101559956668416 ÷ 128 = 793 437 161 472 ======================
====================== pentahedra: number of steps of calculation = 30517578125
30 517 578 125
====================== octahedra: number of steps of calculation = 16777216
16 777 216
tread 1 started (найдено 48 решений) 1797319) name XA a = F | name XB a = T | name XC a = N | name XD a = U | name AB a = N | name BC a = U | name CD a = F | name DA a = T | name AZ a = U | name BZ a = F | name CZ a = T | name DZ a = N | 1814893) name XA a = N | name XB a = U | name XC a = F | name XD a = T | name AB a = T | name BC a = N | name CD a = U | name DA a = F | name AZ a = U | name BZ a = F | name CZ a = T | name DZ a = N | 1996936) name XA a = U | name XB a = T | name XC a = N | name XD a = F | name AB a = N | name BC a = F | name CD a = U | name DA a = T | name AZ a = F | name BZ a = U | name CZ a = T | name DZ a = N | 2023801) name XA a = N | name XB a = F | name XC a = U | name XD a = T | name AB a = T | name BC a = N | name CD a = F | name DA a = U | name AZ a = F | name BZ a = U | name CZ a = T | name DZ a = N | 2585245) name XA a = N | name XB a = U | name XC a = T | name XD a = F | name AB a = F | name BC a = N | name CD a = U | name DA a = T | name AZ a = U | name BZ a = T | name CZ a = F | name DZ a = N | 2596042) name XA a = T | name XB a = F | name XC a = N | name XD a = U | name AB a = N | name BC a = U | name CD a = T | name DA a = F | name AZ a = U | name BZ a = T | name CZ a = F | name DZ a = N | 2995276) name XA a = U | name XB a = F | name XC a = N | name XD a = T | name AB a = N | name BC a = T | name CD a = U | name DA a = F | name AZ a = T | name BZ a = U | name CZ a = F | name DZ a = N | 3003061) name XA a = N | name XB a = T | name XC a = U | name XD a = F | name AB a = F | name BC a = N | name CD a = T | name DA a = U | name AZ a = T | name BZ a = U | name CZ a = F | name DZ a = N | 3564505) name XA a = N | name XB a = F | name XC a = T | name XD a = U | name AB a = U | name BC a = N | name CD a = F | name DA a = T | name AZ a = F | name BZ a = T | name CZ a = U | name DZ a = N | 3594382) name XA a = T | name XB a = U | name XC a = N | name XD a = F | name AB a = N | name BC a = F | name CD a = T | name DA a = U | name AZ a = F | name BZ a = T | name CZ a = U | name DZ a = N | 3773413) name XA a = N | name XB a = T | name XC a = F | name XD a = U | name AB a = U | name BC a = N | name CD a = T | name DA a = F | name AZ a = T | name BZ a = F | name CZ a = U | name DZ a = N | 3793999) name XA a = F | name XB a = U | name XC a = N | name XD a = T | name AB a = N | name BC a = T | name CD a = F | name DA a = U | name AZ a = T | name BZ a = F | name CZ a = U | name DZ a = N | 4926931) name XA a = F | name XB a = N | name XC a = T | name XD a = U | name AB a = T | name BC a = U | name CD a = F | name DA a = N | name AZ a = U | name BZ a = F | name CZ a = N | name DZ a = T | 4961326) name XA a = T | name XB a = U | name XC a = F | name XD a = N | name AB a = N | name BC a = T | name CD a = U | name DA a = F | name AZ a = U | name BZ a = F | name CZ a = N | name DZ a = T | 5126548) name XA a = U | name XB a = N | name XC a = T | name XD a = F | name AB a = T | name BC a = F | name CD a = U | name DA a = N | name AZ a = F | name BZ a = U | name CZ a = N | name DZ a = T | 5170234) name XA a = T | name XB a = F | name XC a = U | name XD a = N | name AB a = N | name BC a = T | name CD a = F | name DA a = U | name AZ a = F | name BZ a = U | name CZ a = N | name DZ a = T | 6502030) name XA a = T | name XB a = U | name XC a = N | name XD a = F | name AB a = F | name BC a = T | name CD a = U | name DA a = N | name AZ a = U | name BZ a = N | name CZ a = F | name DZ a = T | 6524377) name XA a = N | name XB a = F | name XC a = T | name XD a = U | name AB a = T | name BC a = U | name CD a = N | name DA a = F | name AZ a = U | name BZ a = N | name CZ a = F | name DZ a = T | 7123228) name XA a = U | name XB a = F | name XC a = T | name XD a = N | name AB a = T | name BC a = N | name CD a = U | name DA a = F | name AZ a = N | name BZ a = U | name CZ a = F | name DZ a = T | 7128754) name XA a = T | name XB a = N | name XC a = U | name XD a = F | name AB a = F | name BC a = T | name CD a = N | name DA a = U | name AZ a = N | name BZ a = U | name CZ a = F | name DZ a = T | 7481290) name XA a = T | name XB a = F | name XC a = N | name XD a = U | name AB a = U | name BC a = T | name CD a = F | name DA a = N | name AZ a = F | name BZ a = N | name CZ a = U | name DZ a = T | 7522717) name XA a = N | name XB a = U | name XC a = T | name XD a = F | name AB a = T | name BC a = F | name CD a = N | name DA a = U | name AZ a = F | name BZ a = N | name CZ a = U | name DZ a = T | 7899106) name XA a = T | name XB a = N | name XC a = F | name XD a = U | name AB a = U | name BC a = T | name CD a = N | name DA a = F | name AZ a = N | name BZ a = F | name CZ a = U | name DZ a = T | 7921951) name XA a = F | name XB a = U | name XC a = T | name XD a = N | name AB a = T | name BC a = N | name CD a = F | name DA a = U | name AZ a = N | name BZ a = F | name CZ a = U | name DZ a = T | 8855266) name XA a = T | name XB a = N | name XC a = F | name XD a = U | name AB a = F | name BC a = U | name CD a = T | name DA a = N | name AZ a = U | name BZ a = T | name CZ a = N | name DZ a = F | 8878111) name XA a = F | name XB a = U | name XC a = T | name XD a = N | name AB a = N | name BC a = F | name CD a = U | name DA a = T | name AZ a = U | name BZ a = T | name CZ a = N | name DZ a = F | 9254500) name XA a = U | name XB a = N | name XC a = F | name XD a = T | name AB a = F | name BC a = T | name CD a = U | name DA a = N | name AZ a = T | name BZ a = U | name CZ a = N | name DZ a = F | 9295927) name XA a = F | name XB a = T | name XC a = U | name XD a = N | name AB a = N | name BC a = F | name CD a = T | name DA a = U | name AZ a = T | name BZ a = U | name CZ a = N | name DZ a = F | 9648463) name XA a = F | name XB a = U | name XC a = N | name XD a = T | name AB a = T | name BC a = F | name CD a = U | name DA a = N | name AZ a = U | name BZ a = N | name CZ a = T | name DZ a = F | 9653989) name XA a = N | name XB a = T | name XC a = F | name XD a = U | name AB a = F | name BC a = U | name CD a = N | name DA a = T | name AZ a = U | name BZ a = N | name CZ a = T | name DZ a = F | 10252840) name XA a = U | name XB a = T | name XC a = F | name XD a = N | name AB a = F | name BC a = N | name CD a = U | name DA a = T | name AZ a = N | name BZ a = U | name CZ a = T | name DZ a = F | 10275187) name XA a = F | name XB a = N | name XC a = U | name XD a = T | name AB a = T | name BC a = F | name CD a = N | name DA a = U | name AZ a = N | name BZ a = U | name CZ a = T | name DZ a = F | 11606983) name XA a = F | name XB a = T | name XC a = N | name XD a = U | name AB a = U | name BC a = F | name CD a = T | name DA a = N | name AZ a = T | name BZ a = N | name CZ a = U | name DZ a = F | 11650669) name XA a = N | name XB a = U | name XC a = F | name XD a = T | name AB a = F | name BC a = T | name CD a = N | name DA a = U | name AZ a = T | name BZ a = N | name CZ a = U | name DZ a = F | 11815891) name XA a = F | name XB a = N | name XC a = T | name XD a = U | name AB a = U | name BC a = F | name CD a = N | name DA a = T | name AZ a = N | name BZ a = T | name CZ a = U | name DZ a = F | 11850286) name XA a = T | name XB a = U | name XC a = F | name XD a = N | name AB a = F | name BC a = N | name CD a = T | name DA a = U | name AZ a = N | name BZ a = T | name CZ a = U | name DZ a = F | 12983218) name XA a = T | name XB a = N | name XC a = U | name XD a = F | name AB a = U | name BC a = F | name CD a = T | name DA a = N | name AZ a = F | name BZ a = T | name CZ a = N | name DZ a = U | 13003804) name XA a = U | name XB a = F | name XC a = T | name XD a = N | name AB a = N | name BC a = U | name CD a = F | name DA a = T | name AZ a = F | name BZ a = T | name CZ a = N | name DZ a = U | 13182835) name XA a = F | name XB a = N | name XC a = U | name XD a = T | name AB a = U | name BC a = T | name CD a = F | name DA a = N | name AZ a = T | name BZ a = F | name CZ a = N | name DZ a = U | 13212712) name XA a = U | name XB a = T | name XC a = F | name XD a = N | name AB a = N | name BC a = U | name CD a = T | name DA a = F | name AZ a = T | name BZ a = F | name CZ a = N | name DZ a = U | 13774156) name XA a = U | name XB a = F | name XC a = N | name XD a = T | name AB a = T | name BC a = U | name CD a = F | name DA a = N | name AZ a = F | name BZ a = N | name CZ a = T | name DZ a = U | 13781941) name XA a = N | name XB a = T | name XC a = U | name XD a = F | name AB a = U | name BC a = F | name CD a = N | name DA a = T | name AZ a = F | name BZ a = N | name CZ a = T | name DZ a = U | 14181175) name XA a = F | name XB a = T | name XC a = U | name XD a = N | name AB a = U | name BC a = N | name CD a = F | name DA a = T | name AZ a = N | name BZ a = F | name CZ a = T | name DZ a = U | 14191972) name XA a = U | name XB a = N | name XC a = F | name XD a = T | name AB a = T | name BC a = U | name CD a = N | name DA a = F | name AZ a = N | name BZ a = F | name CZ a = T | name DZ a = U | 14753416) name XA a = U | name XB a = T | name XC a = N | name XD a = F | name AB a = F | name BC a = U | name CD a = T | name DA a = N | name AZ a = T | name BZ a = N | name CZ a = F | name DZ a = U | 14780281) name XA a = N | name XB a = F | name XC a = U | name XD a = T | name AB a = U | name BC a = T | name CD a = N | name DA a = F | name AZ a = T | name BZ a = N | name CZ a = F | name DZ a = U | 14962324) name XA a = U | name XB a = N | name XC a = T | name XD a = F | name AB a = F | name BC a = U | name CD a = N | name DA a = T | name AZ a = N | name BZ a = T | name CZ a = F | name DZ a = U | 14979898) name XA a = T | name XB a = F | name XC a = U | name XD a = N | name AB a = U | name BC a = N | name CD a = T | name DA a = F | name AZ a = N | name BZ a = T | name CZ a = F | name DZ a = U | calculate_mthrded() ended
====================== tetrahedra: number of steps of calculation = 729 tread 1 started (найдено 6 решений) 155) name XA a = F | name XZ a = T | name XB a = U | name AZ a = U | name ZB a = F | name BA a = T | 201) name XA a = U | name XZ a = T | name XB a = F | name AZ a = F | name ZB a = U | name BA a = T | 319) name XA a = T | name XZ a = F | name XB a = U | name AZ a = U | name ZB a = T | name BA a = F | 411) name XA a = U | name XZ a = F | name XB a = T | name AZ a = T | name ZB a = U | name BA a = F | 529) name XA a = T | name XZ a = U | name XB a = F | name AZ a = F | name ZB a = T | name BA a = U | 575) name XA a = F | name XZ a = U | name XB a = T | name AZ a = T | name ZB a = F | name BA a = U | calculate_mthrded() ended
From: | (Anonymous) |
Date: | February 8th, 2020 - 11:45 pm |
---|
| | | (Link) |
|
> (найдено 6 решений) > 155) name XA a = F | name XZ a = T | name XB a = U | name AZ a = U | name ZB a = F | name BA a = T |
Ну нашли мы эту хуйню. Что с ней надо дальше делать?
это используется в техномагических артефактах и компиляторах artifical intellectuality. считай мы рассчитали то что в математике называется группой.(но тут конечно своя специфика, это как бы хорошо определенный алгоритм, то есть такой ужас, при котором любые действия в нем не выходят за его пределы. Полностью логически увязанный бесконечный кошмар) https://www.youtube.com/watch?v=ma4g3R0S2Zc
From: | (Anonymous) |
Date: | February 9th, 2020 - 01:30 am |
---|
| | | (Link) |
|
Просто называет ребра разными именами чтобы у одной вершины не было одинаково названных ребер? А в остальном как угодно?
да, в остальном как угодно, но ты учти, что количество названий строго ограничено (обычно назвний столько же сколько ребер) и каждое ребро входит как минимум в два обьекта (связывает их). поэтому в общем это нетривиальная задача
| From: | sadkov |
Date: | February 8th, 2020 - 09:51 pm |
---|
| | | (Link) |
|
Dear God... I forgot how ugly is C++.
ну незн. а в чем ugly, например? на твою логику?
From: | (Anonymous) |
Date: | February 9th, 2020 - 01:23 am |
---|
| | | (Link) |
|
++
From: | (Anonymous) |
Date: | February 9th, 2020 - 01:46 am |
---|
| | | (Link) |
|
Что за бэкграунд имидж в цсс у тебя тут пытается с донецкого айпи загрузиться (но не может)?
а, это надо убрать. хотел когда-то картинку фоном сделать |
|