diff options
Diffstat (limited to '19/cpp')
| -rw-r--r-- | 19/cpp/01-1.cpp | 8 | ||||
| -rw-r--r-- | 19/cpp/01-2.cpp | 14 | ||||
| -rw-r--r-- | 19/cpp/02-1.cpp | 47 | ||||
| -rw-r--r-- | 19/cpp/02-2.cpp | 66 |
4 files changed, 0 insertions, 135 deletions
diff --git a/19/cpp/01-1.cpp b/19/cpp/01-1.cpp deleted file mode 100644 index fcb593a..0000000 --- a/19/cpp/01-1.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include<iostream> - -int main() { - int mass, sum = 0; - while (std::cin >> mass) sum += (mass / 3) - 2; - std::cout << sum << std::endl; -} - diff --git a/19/cpp/01-2.cpp b/19/cpp/01-2.cpp deleted file mode 100644 index 7ce1a82..0000000 --- a/19/cpp/01-2.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include<iostream> - -int getFuel(int mass) { - int fuel = (mass / 3) - 2; - if (fuel <= 0) return 0; - return fuel + getFuel(fuel); -} - -int main() { - int mass, sum = 0; - while (std::cin >> mass) sum += getFuel(mass); - std::cout << sum << std::endl; -} - diff --git a/19/cpp/02-1.cpp b/19/cpp/02-1.cpp deleted file mode 100644 index b6db056..0000000 --- a/19/cpp/02-1.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include<fstream> -#include<iostream> -#include<vector> -using namespace std; - -int main() { - ifstream inFile; - inFile.open("02.in"); - - vector<int> program; - int noun, verb; - // enter noun, verb - cin >> noun; - cin >> verb; - - // read program - int n; - while (inFile >> n) program.push_back(n); - program[1] = noun; - program[2] = verb; - //cout << "Program: " << endl; - //dump(program); - - // copy program to mem - vector<int> mem(program); - - // calculate - int pointer = 0; - int op; - do { - //cout << "Pointer: " << pointer << endl; - //cout << "Memory: " << endl; - //dump(mem); - op = mem[pointer]; - switch (op) { - case 1: - mem[mem[pointer+3]] = mem[mem[pointer+1]] + mem[mem[pointer+2]]; - pointer += 4; - break; - case 2: - mem[mem[pointer+3]] = mem[mem[pointer+1]] * mem[mem[pointer+2]]; - pointer += 4; - break; - } - } while (mem[pointer] != 99); - cout << mem[0] << endl; -} diff --git a/19/cpp/02-2.cpp b/19/cpp/02-2.cpp deleted file mode 100644 index aab95a8..0000000 --- a/19/cpp/02-2.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include<fstream> -#include<iostream> -#include<vector> -#include <chrono> -using namespace std; - -int run(vector<int> prog, int noun, int verb, int pointer, int op) { - vector<int> mem(prog); - mem[1] = noun; - mem[2] = verb; - - // calculate - pointer = 0; - do { - //cout << "Pointer: " << pointer << endl; - //cout << "Memory: " << endl; - //dump(mem); - op = mem[pointer]; - switch (op) { - case 1: - mem[mem[pointer+3]] = mem[mem[pointer+1]] + mem[mem[pointer+2]]; - pointer += 4; - break; - case 2: - mem[mem[pointer+3]] = mem[mem[pointer+1]] * mem[mem[pointer+2]]; - pointer += 4; - break; - } - } while (mem[pointer] != 99); - return mem[0]; -} - -int main() { - ifstream inFile; - inFile.open("02.in"); - - vector<int> program; - int noun, verb; - int pointer; - int op; - - // read program - int n; - while (inFile >> n) program.push_back(n); - //cout << "Program: " << endl; - //dump(program); - - int res; - - auto t1 = chrono::high_resolution_clock::now(); - - for (int n = 0; n < 100; n++) { - for (int v = 0; v < 100; v++) { - res = run(program, n, v, pointer, op); - //cout << n << " " << v << " " << res << endl; - if (res == 19690720) { - cout << n << " " << v << endl; - auto t2 = chrono::high_resolution_clock::now(); - auto duration = chrono::duration_cast<std::chrono::microseconds>( t2 - t1 ).count(); - cout << duration << endl; - return 0; - } - } - } - return 1; -} |
