DATORPROGRAMMU 11. TURNĪRS
Mēs piedāvājam loģiskās spēles noteikumus. Katram dalībniekam ir jāizveido programma, kas spēlē šo spēli. Pēc tam notiek programmu turnīrs, un labākās programmas autors kļūst par uzvarētāju.

Spēles noteikumi. 
Spēles laukumam ir kvadrāta forma ar izmēriem 5x5 rūtiņas. Ir 25 kartiņas, uz katras no tām uzrakstīts viens cipars 0, 1, 2, 3 vai 4 – pa 5 kartiņām ar katru no cipariem.
Spēlē piedalās divi spēlētāji, kuri izdara gājienus pēc kārtas. Gājiens sastāv no tā, ka spēlētājs uzliek vienu no kartiņām uz kaut kāda spēles laukuma brīvās rūtiņas. Pēc tam, kad kartiņa uzlikta uz spēles laukuma, to aiztikt vairāk nedrīkst. Spēle beidzas, kad visas 25 kartiņas ir uzliktas uz laukuma.
Pēc tam notiek punktu skaitīšana. Katram spēlētājam pieder sešas līnijas: spēles laukuma piecas rindas un diagonāle, kura iet no kreisā augšējā stūra uz labo apakšējo, pieder pirmajam spēlētājam; piecas kolonas un diagonāle, kura iet no kreisā apakšējā stūra uz labo augšējo, pieder otrajam spēlētājam. Punkti tiek uzskaitīti sekojošā veidā:
•	ja vienā līnijā sastopami 5 vienādi skaitļi, tad tās īpašnieks saņem 25 punktus;
•	ja vienā līnijā sastopami četri vienādi skaitļi, bet piektais no tiem atšķirīgs, tad šīs līnijas īpašnieks saņem 15 punktus;
•	ja vienā līnijā sastopami trīs vienādi skaitļi, bet divi pārējie skaitļi ir vienādi savā starpā (un nav vienādi trim citiem) , tad šīs līnijas īpašnieks saņem 10 punktus;
•	ja vienā līnijā sastopami trīs vienādi skaitļi, bet divi pārējie skaitļi nav vienādi savā starpā (un katrs no tiem nav vienāds trim citiem) , tad šīs līnijas īpašnieks saņem 5 punktus;
•	ja vienā līnijā sastopami divi vienādu skaitļu pāri (skaitli dažādos pāros atšķirīgi), bet piektais skaitlis atšķiras no četriem citiem, tad šīs līnijas īpašnieks saņem 3 punktus;
•	ja vienā līnijā sastopami divi vienādi skaitļi, bet visi pārējie no tiem atšķirīgi un pa pāriem dažādi, tad šīs līnijas īpašnieks saņem 2 punktus;
•	ja vienā līnijā sastopami visi 5 dažādi skaitļi, tad šīs līnijas īpašnieks saņem 8 punktus.
Īsumā punktu skaitīšanas noteikumi attēloti tabulā:
 
Kombinācija	5 dažādi	2	2+2	3	3+2	4	5	
Punkti	8	2	3	5	10	15	25	

Uzvar spēlētājs, kurš saņēmis vairāk punktu. 

	Apskaitīsim kādas partijas piemēru. Gājiena pierakstā pirmais simbols nozīmē skaitli, kas uzrakstīts uz uzliekamās kartiņas, otrais un trešais simboli apzīmē rūtiņu uz kuras uzliek kartiņu – kolonu un rindiņu. Spēles laukuma kolonas apzīmētas ar burtiem, bet rindiņas – ar cipariem, kā parādīts zīmējumā zemāk.

Gājiena numurs	Pirmais spēlētājs	Otrais spēlētājs	
1	4A1	0C2	
2	1B2	2B4	
3	0A3	3B5	
4	3D3	4B1	
5	4E5	4A5	
6	3E3	3A2	
7	1C1	0D5	
8	2C4	0B3	
9	4C3	3A4	
10	1D1	2E1	
11	2E4	1D2	
12	1C5	2E2	
13	0D4	---	

Rezultātā spēles beigās izveidojas sekojoša pozīcija:

	A	B	C	D	E	
1	4	4	1	1	2	
2	3	1	0	1	2	
3	0	0	4	3	3	
4	3	2	2	0	2	
5	4	3	1	0	4	
Saskaitīsim punktus. Pirmais spēlētājs par pirmo rindu saņem 3 punktus, par otro rindu – 2 punktus, par trešo rindu – 3 punktus, par ceturto rindu – 5 punktus, par piekto rindu – 2 punktus un vēl 5 punktus par savu diagonāli – pavisam 20 punktus. Otrais spēlētājs saņem par pirmo kolonu 3 punktus, par otro kolonu – 8 punktus, par trešo kolonu 2 punktus, par ceturto kolonu – 3 punktus, par piekto kolonu – 5 punktus un vēl 3 punktus par savu diagonāli – pavisam 24 punktus. Otrais spēlētājs uzvarējis ar rezultātu 20:24.

Programmai izvirzītās prasības un tehniskie noteikumi. 

Minimālās prasības programmas ārējā izskata noformēšanai: skaidri un pretrunas nesaturoši norādījumi, kāds tieši gājiens tiek veikts – kāds skaitlis un kurā rūtiņā jānovieto. Programmai ir jānodrošina iespēja ievadīt gājienus ar klaviatūru un jādod skaidri norādījumi ievadīšanas organizēšanai. Tāpēc rūtiņas jāsanumurē, kā norādīts zīmējumā. Dialogu ar lietotāju var organizēt jebkurā valodā, ņemot vērā vispārpieņemots saskarsmes noteikumus. Par mēģinājumu izdarīt neatļautu gājienu (piemēra, novietot kartiņu un aizņemtas rūtiņas vai paņemt kartiņu ar skaitli, kura nav neizmantoto kartiņu vidū) vai par programmas nespēju pieņemt pretinieka korekto gājienu tiek piespriests sods – programmai tiek noteikts zaudējums ar rezultātu 0:12.
Programmas savā starpā spēlē mačus no 2-4 partijām, pārmaiņus uzsākot spēli. Turnīrs notiek pēc riņķa vai Šveices sistēmas. Novērtējot programmas, vispirms ņem vērā uzvaru skaitu, pēc tam punktu starpību, kas savākta visas spēles laikā.
Programmām jāspēlē Win NT/2K vadībā. Turnīrs notiks ar datoru, kura operatīva atmiņa ir 128 MBaiti, un procesors Celeron, ar frekvenci 1200 MHz. Programmai tiek dotas 30 sekundes vienas partijas izspēlei. Protams, programma var būt veidota uz jebkura datora. Tiek atļauti jebkuri programmēšanas līdzekļi. Nav obligāti jāuzrāda pirmprogrammas teksts – nepieciešams tikai iesniegt izejošo failu (vai nepieciešamo failu paketi). Laiks, kamēr pretinieka programma meklē gājienu, netiek ņemts vērā. Vērā ņem laiku, kuru programma patērē no programmas uzlādēšanas sākuma līdz tās darbības uzsākšanai. Nav ierobežojumu laika ziņā katra gājiena veikšanai, svarīgi, lai kopējais laiks nepārsniedz 30 sekundes.
Programmai jānonāk orgkomitejā ne vēlāk par 2002. gada 3. decembri. Orgkomitejas tālrunis: 7336245. Risinājumu var nogādāt pēc adreses:
Pulkveža Brieža iela Nr.6, 1.stāvs, “Progmeistars”
vai atsūtīt pa elektronisko pastu: cm@progmeistars.lv
Uz šo pašu adresi var sūtīt jautājumus. Informācija tiks sniegta kursu “Progmeistars” saitā
http://www.progmeistars.lv/olimpics.html

Katram dalībniekam jādod ziņas par sevi: vārds, uzvārds, mācību iestādes nosaukums, klase (kurss), pilna pasta adrese, kontakttālrunis un/vai e-mail.
Pēc autoru vēlēšanās labākās programmas tiks ievietotas kursu “Progmeistars” saitā.