|
|
@@ -0,0 +1,46 @@
|
|
|
+#include "main.h"
|
|
|
+
|
|
|
+void part1(){
|
|
|
+ QFile input("input.txt");
|
|
|
+ QTextStream strm(&input);
|
|
|
+ if(!input.open(QIODevice::ReadOnly | QIODevice::Text)){
|
|
|
+ qDebug() << "file borked";
|
|
|
+ }
|
|
|
+ int vals[] = {0,0,0,0,0,0,0,0,0,0,0,0};
|
|
|
+ int i = 0;
|
|
|
+ int lines = 0;
|
|
|
+ unsigned short gamma = 0;
|
|
|
+ unsigned short epsilon = 0;
|
|
|
+ qDebug() << gamma;
|
|
|
+ QString line = "";
|
|
|
+ while(!strm.atEnd()){
|
|
|
+ lines++;
|
|
|
+ line = strm.readLine();
|
|
|
+ for (i=0;i<12;i++){
|
|
|
+ vals[i] += (line.toStdString()[i]-'0');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(i=0;i<12;i++){
|
|
|
+ if(vals[i] > (lines/2)){
|
|
|
+ gamma +=1;
|
|
|
+ }
|
|
|
+ if(i < 11){
|
|
|
+ gamma <<=1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ epsilon = ~gamma;
|
|
|
+ epsilon = epsilon & 0b0000111111111111; //bitmask with 0b0000 1111 1111 1111
|
|
|
+ qDebug() << epsilon;
|
|
|
+ qDebug() << gamma;
|
|
|
+ qDebug() << (gamma*epsilon);
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+void part2(){
|
|
|
+}
|
|
|
+
|
|
|
+int main(int argc, char **argv){
|
|
|
+ part1();
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|