summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--1/part1.c2
-rw-r--r--1/part2.c2
-rw-r--r--1/part2_fast.c2
-rw-r--r--2/part1.c2
-rw-r--r--2/part2.c2
-rw-r--r--3/part1.c2
-rw-r--r--3/part2.c3
-rw-r--r--4/part1.c2
-rw-r--r--4/part2.c2
-rw-r--r--5/part1.c2
-rw-r--r--5/part2.c4
-rw-r--r--5/part2_fast.c4
-rwxr-xr-xprepare7
-rwxr-xr-xrunbin45 -> 732496 bytes
15 files changed, 26 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index d80097a..a16de4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,6 @@ dkms.conf
# Executables
part1
part2
+part1_fast
+part2_fast
+run
diff --git a/1/part1.c b/1/part1.c
index 07f1251..1b825df 100644
--- a/1/part1.c
+++ b/1/part1.c
@@ -20,7 +20,7 @@ int repair(const int * arr)
int main(int argc, char *argv[])
{
- FILE *file = fopen(argv[1], "r");
+ FILE *file = fopen(argv[argc - 1], "r");
if (!file) {
return 1;
}
diff --git a/1/part2.c b/1/part2.c
index adf487c..9c10b61 100644
--- a/1/part2.c
+++ b/1/part2.c
@@ -22,7 +22,7 @@ int repair(const int *arr)
int main(int argc, char *argv[])
{
- FILE *file = fopen(argv[1], "r");
+ FILE *file = fopen(argv[argc - 1], "r");
if (!file) {
return 1;
}
diff --git a/1/part2_fast.c b/1/part2_fast.c
index b38894b..4523c65 100644
--- a/1/part2_fast.c
+++ b/1/part2_fast.c
@@ -123,7 +123,7 @@ int repair_avx(const int *arr)
int main(int argc, char *argv[])
{
- FILE *file = fopen(argv[1], "r");
+ FILE *file = fopen(argv[argc - 1], "r");
if (!file) {
return 1;
}
diff --git a/2/part1.c b/2/part1.c
index 9a74a2c..11d955b 100644
--- a/2/part1.c
+++ b/2/part1.c
@@ -22,7 +22,7 @@ bool is_valid_password(char *pass, char *policy)
int main(int argc, char *argv[])
{
- FILE *file = fopen(argv[1], "r");
+ FILE *file = fopen(argv[argc - 1], "r");
if (!file) {
return 1;
}
diff --git a/2/part2.c b/2/part2.c
index c6219a1..7a2e16e 100644
--- a/2/part2.c
+++ b/2/part2.c
@@ -15,7 +15,7 @@ bool is_valid_password(char *pass, char *policy)
int main(int argc, char *argv[])
{
- FILE *file = fopen(argv[1], "r");
+ FILE *file = fopen(argv[argc - 1], "r");
if (!file) {
return 1;
}
diff --git a/3/part1.c b/3/part1.c
index 0373328..b664b7d 100644
--- a/3/part1.c
+++ b/3/part1.c
@@ -33,5 +33,5 @@ int count_trees(const char *filename)
int main(int argc, char *argv[])
{
- printf("%i", count_trees(argv[1]));
+ printf("%i", count_trees(argv[argc - 1]));
}
diff --git a/3/part2.c b/3/part2.c
index 7362c12..29319b4 100644
--- a/3/part2.c
+++ b/3/part2.c
@@ -35,6 +35,7 @@ int count_trees(int inc_right, int inc_down, const char *filename)
int main(int argc, char *argv[])
{
- long mul = (long)count_trees(1, 1, argv[1]) * count_trees(3, 1, argv[1]) * count_trees(5, 1, argv[1]) * count_trees(7, 1, argv[1]) * count_trees(1, 2, argv[1]);
+ int arg = argv[argc - 1];
+ long mul = (long)count_trees(1, 1, arg) * count_trees(3, 1, arg) * count_trees(5, 1, arg) * count_trees(7, 1, arg) * count_trees(1, 2, arg);
printf("%li\n", mul);
}
diff --git a/4/part1.c b/4/part1.c
index 65c3b99..b4a3b8e 100644
--- a/4/part1.c
+++ b/4/part1.c
@@ -64,5 +64,5 @@ int count_valid_passports(const char *filename)
int main(int argc, char *argv[])
{
- printf("%i", count_valid_passports(argv[1]));
+ printf("%i", count_valid_passports(argv[argc - 1]));
}
diff --git a/4/part2.c b/4/part2.c
index f132753..5aac219 100644
--- a/4/part2.c
+++ b/4/part2.c
@@ -131,5 +131,5 @@ int count_valid_passports(const char *filename)
int main(int argc, char *argv[])
{
- printf("%i", count_valid_passports(argv[1]));
+ printf("%i", count_valid_passports(argv[argc - 1]));
}
diff --git a/5/part1.c b/5/part1.c
index 5b45083..10cc36c 100644
--- a/5/part1.c
+++ b/5/part1.c
@@ -76,5 +76,5 @@ int highest_seat_id(const char *filename)
int main(int argc, char *argv[])
{
- printf("%i\n", highest_seat_id(argv[1]));
+ printf("%i\n", highest_seat_id(argv[argc - 1]));
}
diff --git a/5/part2.c b/5/part2.c
index ac74224..21dbdc2 100644
--- a/5/part2.c
+++ b/5/part2.c
@@ -86,9 +86,11 @@ int missing_seat_id(const char *filename)
return i;
}
}
+
+ return 0;
}
int main(int argc, char *argv[])
{
- printf("%i", missing_seat_id(argv[1]));
+ printf("%i", missing_seat_id(argv[argc - 1]));
}
diff --git a/5/part2_fast.c b/5/part2_fast.c
index 330244e..df2a585 100644
--- a/5/part2_fast.c
+++ b/5/part2_fast.c
@@ -77,9 +77,11 @@ int missing_seat_id(const char *filename)
return i;
}
}
+
+ return 0;
}
int main(int argc, char *argv[])
{
- printf("%i", missing_seat_id(argv[1]));
+ printf("%i", missing_seat_id(argv[argc - 1]));
}
diff --git a/prepare b/prepare
index b49cbbc..5595107 100755
--- a/prepare
+++ b/prepare
@@ -1,4 +1,9 @@
#!/usr/bin/env bash
cd $(("$1"))
-clang -Wall -pedantic -O3 -march=native -mtune=native -flto -s -static -o "part$2" "part$2.c"
+file="part$2.c"
+if test -f "part$2_fast.c"
+then
+ file="part$2_fast.c"
+fi
+clang -Wall -pedantic -O3 -march=native -mtune=native -flto -s -static -o ../run "part$2.c"
diff --git a/run b/run
index ceed5a4..9348830 100755
--- a/run
+++ b/run
Binary files differ