CaesarXYX:
No, k tomu sčítání polynomů... jestli jde jenom o tohle, tak bych řekl, že bude asi nejtěžší ten řetězec vstupní rozparsovat. Pokud budeš polynom reprezentovat např. polem, tak stačí převést onen řetězec na polynom. Každý prvek pole bude uchovávat informaci o výskytu členu s určitou mocninou. Tedy třeba x^2 + 2x - 3 bude v tříprvkovém poli P vypadat následovně:
P[0] = -3, P[1] = 2, P[2] = 1. A rozparsovat vstupní řetězec nebude až zas tak obtížné. Pak stačí tyhle dvě pole sečíst... pokud je vůbec třeba dvou polí, o čemž pochybuji... a hotovo. Pokud bys to chtěl reprezentovat spojákem, tak to bude trochu zajímavější...
Piškvorky:
Tady je to ze začátku jednoduché. Implementuješ minimax (asi teda variantu megamax, já nevím, jak se jmenuje) a alfa-beta prořezávání. O tom lze na netu najít dostatek a asi bude existovat někde i pseudokód, kdybys to nechtěl vymýšlet úplně z hlavy, což je samozřejmě nejpoučnější, ale nemusí to být trivka, než se to odladí. Horší na tom je napsat to tak, aby to hrálo nějak rozumně a hlavně v rozumném čase. Prostě se to musí nějak hodně prořezat (ztrátově). Na http://vrtulex.secit.sk/ se v sekci Pascal povaluje moje čtvrtletní práce ze třeťáku střední školy. Čirou náhodou to jsou piškvorky a čirou náhodou využívají Topferovu knihovnu (nevím, proč říkáš "bohužel") (čirou náhodou mne učil Topfer :-) ). Ale není to moc komentované. Vlastně asi vůbec... ale můžeš se na to zkusit podívat, jestli to nějak pomůže. Vlastně doufám, že k tomu tam jsou zdrojáky, ale myslím, že ano.