Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // EEHunter.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <vector>
- #include <Windows.h>
- bool lights[] = { false, false, false, false, false,
- false, false, false, false, false,
- false, true, false, false, false,
- false, false, false, true, false };
- std::vector<std::vector<int>> combinations;
- int possibilities = 0;
- class Button
- {
- public:
- Button() { };
- Button(std::vector<int> lights) { m_lights = lights; };
- void Press()
- {
- for (int i = 0; i < m_lights.size(); ++i)
- {
- lights[m_lights[i]-1] = !lights[m_lights[i]-1];
- }
- }
- private:
- std::vector<int> m_lights;
- };
- Button buttons[7];
- void printState()
- {
- for (int i = 0; i < 20; ++i)
- {
- printf("%d ", lights[i]);
- }
- printf("\n");
- Sleep(5000);
- }
- void addNext(std::vector<int> buttons, std::vector<int> uB, int add, int totalCount)
- {
- buttons.push_back(add);
- if (buttons.size() == totalCount)
- {
- combinations.push_back(buttons);
- //for (int i = 0; i < totalCount; ++i)
- // printf("%d ", buttons[i]);
- //printf("\n");
- possibilities++;
- return;
- }
- for (std::vector<int>::iterator itr = uB.begin(); itr != uB.end(); ++itr)
- {
- if ((*itr) == add)
- {
- uB.erase(itr);
- break;
- }
- }
- for (std::vector<int>::iterator itr = uB.begin(); itr != uB.end(); ++itr)
- {
- addNext(buttons, uB, (*itr), totalCount);
- }
- }
- void DoSomething()
- {
- std::vector<int> uB({ 0,1,2,3,4,5,6,7 });
- std::vector<int> buttons;
- for (int x = 1; x < 8; ++x)
- {
- for (int i = 0; i < 7; ++i)
- {
- addNext(buttons, uB, i, x);
- }
- }
- printf("Possibilities: %d\n", possibilities);
- }
- void TestCombinations()
- {
- for (int i = 0; i < combinations.size(); ++i)
- {
- printf("%d\n", i);
- std::vector<int> buttonComb = combinations[i];
- bool lights2[20];
- for (int s = 0; s < 20; ++s)
- lights2[s] = lights[s];
- printState();
- for (int x = 0; x < buttonComb.size(); ++x)
- {
- buttons[buttonComb[x]].Press();
- lights[15] = true;
- lights[17] = true;
- }
- bool allTrue = true;
- for (int s = 0; s < 20; ++s)
- allTrue = allTrue == lights[s];
- if (allTrue)
- {
- printf("omg all true\n");
- Sleep(1000);
- }
- printState();
- for (int s = 0; s < 20; ++s)
- lights[s] = lights2[s];
- }
- printf("Done\n");
- }
- int main()
- {
- DoSomething();
- TestCombinations();
- Sleep(100000);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement