main.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include "main.h"
  2. void part1(){
  3. QFile input("input.txt");
  4. if(!input.open(QIODevice::ReadOnly | QIODevice::Text)){
  5. qDebug() << "file Borked!!";
  6. }
  7. QTextStream strm(&input);
  8. int x = 0;
  9. int y = 0;
  10. int value = 0;
  11. while(!strm.atEnd()){
  12. QString line = strm.readLine();
  13. QStringList parts = line.split(" ");
  14. value = parts[1].toInt();
  15. if(parts[0] == "up"){
  16. x -= value;
  17. }
  18. if(parts[0] == "down"){
  19. x += value;
  20. }
  21. if(parts[0] == "forward"){
  22. y += value;
  23. }
  24. }
  25. qDebug() << x*y;
  26. }
  27. void part2(){
  28. QFile input("input.txt");
  29. if(!input.open(QIODevice::ReadOnly | QIODevice::Text)){
  30. qDebug() << "file Borked!!";
  31. }
  32. QTextStream strm(&input);
  33. int x = 0;
  34. int y = 0;
  35. int aim = 0;
  36. int value = 0;
  37. while(!strm.atEnd()){
  38. QString line = strm.readLine();
  39. QStringList parts = line.split(" ");
  40. value = parts[1].toInt();
  41. if(parts[0] == "up"){
  42. aim -= value;
  43. }
  44. if(parts[0] == "down"){
  45. aim += value;
  46. }
  47. if(parts[0] == "forward"){
  48. y += value;
  49. x += (aim * value);
  50. }
  51. }
  52. qDebug() << x*y;
  53. }
  54. int main(int argc, char **argv){
  55. part2();
  56. return 0;
  57. }