SASTĀDI PROGRAMMU PATS!

Sestā turnīra spēles noteikumi

Spēle notiek uz taisnstūra laukuma ar izmēriem 75 un trīs veida kauliņiem, apzīmēsim tos ar X, Z un N, uz katra no tiem novietotas divas līnijas (caurules):

Sākumā uz laukuma jau novietoti 7 kauliņi: X-kauliņi uz lauciņiem A1, F3 un G1, Z-kauliņi uz A4 un D1, N-kauliņi uz C3 un F5. Spēles laukums un sākuma pozīcija attēloti zīmējumā 2:

Spēlē divi spēlētāji. Gājienus izdara rindas kārtībā. Gājiens tiek veikts sekojošā veidā: jebkuru no esošā veida kauliņiem novieto uz jebkura brīvi esoša lauciņa spēles laukumā; pie kam vienai no divām caurulēm uz uzliktā kauliņa ir jābūt melnās līnijas turpinājumam - pa to jātek ūdenim. Tā, piemēram, sākuma pozīcijā ūdens tek tikai pa lauciņa A1 vertikālo cauruli, t.i. pirmo kauliņu obligāti jāliek uz lauciņa A2. Pēc tam, kad kauliņš uzlikts, ūdens tek pa tik caurulēm, cik tas iespējams (ņemot vērā arī jau uzliktos kauliņus). Ja melnajai līnijai nav neviena brīva gala (piemēram, udens aizsniedzis spēles laukuma malu, vai arī melnā līnija noslēgusies), tad spēlētājs drikst novietot kauliņu jebkurā brīvajā lauciņā un palaist ūdeni pa brīvi izvēlētu vienu no uzliktā kauliņa caurulēm. Par katru gājienu spēlētājs saņem tik punktu, par cik caurulēm viņam ir izdevies palaist ūdeni - novilkt melno līniju (ja vienā gājiena melnā līnija novilkta pa abām kaut kāda kauliņa caurulēm, tad spēlētājs saņem punktus par katru no šim divām caurulēm). Kad visi lauciņi aizpildīti, spēle beidzas. Uzvar tas, kurš ieguvis visvairāk punktu.
	
Piemēra pēc apskatīsim nosacītas partijas sākumu: pirmais spēlētājs liek X-kauliņu uz lauciņa A2 un turpina melno līniju pa vienu lauciņu vertikālā virzienā; pēc tam otrajs spēlētājs savā pirmajā gājienā uzliek Z-kauliņu uz lauciņa A3, pagriežot melno līniju pa kreisi, par to iegustot vienu punktu. Melnā līnija atdūrusies pret laukuma malu, tai vairs nav brīvu galu. Tas nozīmē, ka pirmais spēlētājs tagad var novietot savu kauliņu jebkurā brīva lauciņā. Viņš novieto X-kauliņu lauciņā B3 un liek ūdenim tecēt horizontāla virzienā; melnā līnija turpinās pa kreisi uz lauciņu A3 (uz kauliņa apakšējo cauruli) un A4 (uz kauliņa augšejo cauruli) un pa labi uz lauciņa C3 apakšējo cauruli. Šis gājiens pirmajam spēlētājam dod uzreiz 4 punktus. Otrais spēlētājs tagad spiests likt kauliņu uz lauciņa C4. Viņš arī novieto uz tā Z-kauliņu, turpinot melno līniju par vienu lauciņu un iegūst vienu punktu. Otrais spēlētājs ir nospēlējis slikti. Bet par to pirnais spēlētājs liek N-kauliņu uz lauciņa B4 un iegūst divus punktus, turpinot melno līniju ne tikai pa uzlikto kauliņu, bet arī pa uz lauciņa B3 uzliktā kauliņa vertikālo cauruli. Jegūtā pozīcija attēlota zīmējumā 3.

Ja tagad otrais spēlētājs uzliek N-kauliņu uz lauciņa B2, tad viņš iegūs divus punktus - līnija ies pa uzliktā kauliņa apakšejo cauruli un pa lauciņa A2 horizontālo cauruli. Pie tam melnajai līnijai atkal nepaliks neviena brīva gala (ievērosim, ka jebkurā momentā brīvi gali var būt tikai vienai melnajai līnijai), un pirmais spēlētājs varēs novietot kauliņu uz jebkura brīvā spēlēs laukuma lauciņa, kaut vai uz E2.

	Programmas savā starpā spēlē maàus no 2-4 partijām, pārmaiņus kā pirmais un otrais spēlētāji. Vienāda uzvaru skaita gadījumā par uzvarētāju uzskato to, kuram lielāka punktu starpība.

	Programmām jābūt paredzētām darbībai uz IBM-saviētojamām ESM un drīkst izmantot sekojošus resursus: operatīvo atmiņu 4 MB, VGA grafisko adapteri; visai partijai programmāi tiek dotas 2 minūtes uz mašīnas ar procesoru 80486DX un takts frekvenci 66 Mhz. Tiek pieļauta iebkura programmēšanas valodu vai sistēmu lietošana. Programmas teksts nav obligāti jāuzrāda - nepieciešamas vienīgi nodot disketi ar izpildāmo failu ( vai nepieciešamo failu paketi). Laiks, ko patērē pretinieka programma, meklējot atbildes gājenu, vērā ņemts netiek. Laiks, ko patērē programma tās ielādei, tiek ņemts vērā. Ierobežojumi uz katram atseviāķam gājienam patērēto laiku nav, ja tikai kopējais posmā patērētais laiks nepārsniedz 2 minūtes. Informācijas apmaiņa ar cieto disku ir aizliegta.
	Programmas ārējā noformējuma minimālās prasības - skaidra un viennozīmīga norāde uz to, tieši kāds gājiens izdarīts: kāda veida kauliņš un uz kura lauciņa uzlikts; pa kuru cauruli jātek ūdenim, ja ar kauliņu sāk jaunu līniju.
Programmai obligāti jānodrošina gājienu ievads no klaviatūras (un jādod skaidri norādijumi par ievada organizāciju). Šim nolūkam drīkst izmantot kursora pārvietošanu, rūtiņu divkaršo indeksāciju u.t.t. Ievadu var dublēt ar ”peles” palīdzību. Dialogu ar lietotāju var organizēt jebkurā valodā. Mēåinājums izdarīt aizliegtu gājienu (piemēram, novietot kauliņu uz aizņemta lauciņa vai arī neturpināt melno līniju, ja tai ir kaut viens brīvs gals) vai programmas nespēja pieņemt pretinieka korektu gājienu, kā arī laika limita pārsniegšana, tiek sodīts - programmai tiek piešķirts zaudējums ar rezultātu 0:7.

Un, kā parasti, daži iesildīšanas uzdevumi. Šo uzdevumu labākie risinajumi arī tīks atzīmēti.
1.	Kādu vislielāko un kādu vismazāko punktu skaitu var iegūt abi spēlētāji kopsumma?
2.	Kādu vislielāko punktu skaitu vienā partijā var iegūt uzvarētājs?
3.	Kādu vislielāko punktu starpību var sasniegt uzvarētājs?
4.	Spēles laikā uz laukuma izveidojas divu veidu līnijas: līnijas, kuras atduras spēles laukuma malās ar abiem galiem, un noslegtas līnijas. Noteikt maksimāli iespējamo garumu noslēgtai līnijai, kura var izveidoties spēles laikā. Līnijas garumu definēsim kā cauruļu kopējo skaitu, pa kurām tā novilkta.
Viss uzdevumos tiek pieņemts, ka abi spēlētāji kopējiem spēkiem cenšas sasniegt vēlamo mērķi.