108 lines
4.2 KiB
TeX
108 lines
4.2 KiB
TeX
\documentclass[a4paper,10pt,ngerman]{scrartcl}
|
||
\usepackage{babel}
|
||
\usepackage[T1]{fontenc}
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage[a4paper,margin=2.5cm,footskip=0.5cm]{geometry}
|
||
|
||
% Die nächsten drei Felder bitte anpassen:
|
||
\newcommand{\Aufgabe}{Aufgabe 3: HexMax} % Aufgabennummer und Aufgabennamen angeben
|
||
\newcommand{\TeilnahmeId}{60813} % Teilnahme-ID angeben
|
||
\newcommand{\Name}{Marcel Zinkel} % Name des Bearbeiter / der Bearbeiterin dieser Aufgabe angeben
|
||
|
||
|
||
% Kopf- und Fußzeilen
|
||
\usepackage{scrlayer-scrpage, lastpage}
|
||
\setkomafont{pageheadfoot}{\large\textrm}
|
||
\lohead{\Aufgabe}
|
||
\rohead{Teilnahme-ID: \TeilnahmeId}
|
||
\cfoot*{\thepage{}/\pageref{LastPage}}
|
||
|
||
% Position des Titels
|
||
\usepackage{titling}
|
||
\setlength{\droptitle}{-1.0cm}
|
||
|
||
% Für mathematische Befehle und Symbole
|
||
\usepackage{amsmath}
|
||
\usepackage{amssymb}
|
||
|
||
% Für Bilder
|
||
\usepackage{graphicx}
|
||
|
||
% Für Algorithmen
|
||
\usepackage{algpseudocode}
|
||
|
||
% Für Quelltext
|
||
\usepackage{minted}
|
||
\usepackage{color}
|
||
\definecolor{mygreen}{rgb}{0,0.6,0}
|
||
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
|
||
\definecolor{mymauve}{rgb}{0.58,0,0.82}
|
||
|
||
% Anführungszeichen
|
||
\usepackage{csquotes}
|
||
|
||
% Diese beiden Pakete müssen zuletzt geladen werden
|
||
%\usepackage{hyperref} % Anklickbare Links im Dokument
|
||
\usepackage{cleveref}
|
||
|
||
% Daten für die Titelseite
|
||
\title{\textbf{\Huge\Aufgabe}}
|
||
\author{\LARGE Teilnahme-ID: \LARGE \TeilnahmeId \\\\
|
||
\LARGE Bearbeiter/-in dieser Aufgabe: \\
|
||
\LARGE \Name\\\\}
|
||
\date{\LARGE\today}
|
||
|
||
\begin{document}
|
||
|
||
\maketitle
|
||
\tableofcontents
|
||
|
||
\vspace{0.5cm}
|
||
|
||
\section{Lösungsidee}
|
||
Durch ebenso oftes Hinlegen und Wegnehmen der Stäbchen erhält man eine Hex-Zahl,
|
||
die man auch mit Umlegen erreichen kann. Der Algorithmus kann also erstmal mehr
|
||
Stäbchen hinlegen wie wegnehmen oder umgekehrt, solange am Ende die Anzahl der
|
||
hingelegten Stäbchen gleich der weggenommenen Stäbchen ist.
|
||
|
||
Die größte Zahl erhält man, wenn man möglichst die vorderen Ziffern erhöht. Der
|
||
Algorithmus geht angefangen mit der ersten Ziffer jede Ziffer der Zahl durch.
|
||
Ausgenommen sind davon Ziffern, die schon geändert wurden.
|
||
Jede Ziffer wird, sofern sie nicht schon F ist, probiert auf F,E,... umzulegen.
|
||
Dabei wird gezählt wie viele Stäbchen weggenommenen und hingelegt werden müssen.
|
||
Überschreitet weder die Gesamtzahl der weggenommenen Stäbchen noch der
|
||
hingelegten Stäbchen die gegebene maximale Anzahl der Umlegungen, wird die
|
||
Ziffer entsprechend geändert. Ansonsten wird probiert die Ziffer zu der nächst
|
||
kleineren Ziffern zu ändern. Dies wird so lange wiederholt bis die Änderung der
|
||
Ziffer erfolgreich war oder bereits alle Ziffern, die größer sind, ausprobiert
|
||
wurden. Danach wird zu der nächsten Ziffer übergegangen.
|
||
|
||
Nachdem die vorderen Ziffern entsprechend erhöht wurden, kann es sein, dass noch
|
||
Stäbchen benötigt werden oder loszuwerden sind, damit gleich viele Stäbchen
|
||
weggenommenen wie hingelegt wurden. Da zuvor schon die Ziffern nach Möglichkeit
|
||
erhöht wurden, kann dies nur erreicht werden, indem Ziffern verringert werden.
|
||
Damit das nicht so stark ins Gewicht fällt, wird über die Ziffern von hinten
|
||
iteriert. Ziffer für Ziffer wird nun probiert die Ziffer so zu ändern, dass sich der Betrag der Differenz von der
|
||
Anzahl der hingelegten und der weggenommenen Stäbchen zu verringert. Es kann
|
||
auch eine vorherige Änderung der Ziffer noch geändert werden. Dabei darf
|
||
natürlich nicht die maximale Anzahl der Umlegungen überschritten werden.
|
||
|
||
Der Algorithmus wird so lange wiederholt bis die maximale Anzahl der Umlegungen
|
||
ausgeschöpft wurde. Dazu einmal das Beispiel aus der Aufgabenstellung: Die Zahl
|
||
D24 wird erst mit 3 weggenommenen und 2 hingelegten Stäbchen auf F24 erhöht.
|
||
Danach kann man allerdings das eine Stäbchen nicht bei den Ziffern 4 oder 2
|
||
loswerden, sodass die Zahl auf E24 geändert wird, da dort gleich viele Stäbchen
|
||
hingelegt wie weggenommenen wurden. Darauffolgend wird wieder probiert die Ziffern zu
|
||
erhöhen, wobei die erste Ziffer ausgelassen wird, sodass der Algorithmus
|
||
schließlich zur Lösung EE4 kommt.
|
||
|
||
8D5 F89
|
||
\section{Umsetzung}
|
||
|
||
\section{Beispiele}
|
||
|
||
\section{Quellcode}
|
||
Unwichtige Teile des Programms sollen hier nicht abgedruckt werden. Dieser Teil sollte nicht mehr als 2–3 Seiten umfassen, maximal 10.
|
||
|
||
\end{document}
|