პროგრამის დაწერა მინდა ამოცანისთვის C++ზე

ამოცანას მოგაწვდით ალგორითმებს ეხება
* * *
ნახაზზე ნაჩვენებია ექვსკუთხედის ფორმის რიცხვითი ცხრილი (გვერდის სიგრძე 3 ის ტოლია). წრეს რომელშიც ჩაწერილია რიცხვი ვუწოდოთ კვანძი. გზა იწყება ზედა რიგის რომელიმე კვანძიდან და მთავრდება ქვედა რიგის რომელიმე კვანძში. ყოველი კვანძიდან გზა გრძელდება დიაგონალური მიმართულებით ქვემოთ მარცხნივ ან მარჯვნივ. გზის შერჩევისას თქვენ უფლება გაქვთ მოახდინოთ არაუმეტეს ერთი შენაცვლება ცხრილის არაუმეტეს ერთ სტრიქონში (შენაცვლება ნიშნავს რომ თქვენს მიერ არჩეულ ერთ რომელიმე რიგში შეგიძლიათ ამ რიგის უდიდესი რიცხვი გადაიტანოთ იგივე რიგის ნებისმიერ კვანძში.)
დაწერეთ პროგრამა რომელიც დაითვლის ყველა შესაძლებელი რიცხვების ჯამის უდიდეს მნიშვნელობას (მათ შორის იგულისხმება გზები რომლებიც მიღებულია შენაცვლების შედეგადაც).
შეზღუდვები: კვანძში ჩაწერილია რიცხვები რომლებიც მოთავსებულია 0 99 . რივხვითი ცხრილის გვერდის სიგრძე არის მთელი 1 და 99 შორის.
შემავალი მონაცემები HON IN ფაილის პირველ სტრიქონში ჩაწერილია გვერდის სიგრძე.
თუ გვერდის სიგრძეა n მაშინ ცხრილის შედგება 2n-1 ჰორიზონტალური რიგისგან, რომლებშიც შემდეგი რიცხვები შესატან ფაილში აღწერილია პირველი სტრიქონის მომდევნო 2n-1 სტრიქონში.
გამომვალი მონაცემები HON out ფაილის ერთადერთ სტრიქონში დავბეჭდოთ ჯამის მაქსიმალური მნიშვნელობა.