М И Н И СТ Е РСТ В О О Б РА ЗО В А Н И Я И Н А У К И РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ ...
6 downloads
202 Views
356KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
М И Н И СТ Е РСТ В О О Б РА ЗО В А Н И Я И Н А У К И РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н ЫЙ У Н И В Е РСИ Т Е Т
О .Ф .У скова О .Д .Г ор бенко
О ЛИ М П И А Д Н ЫЕ ЗА Д А ЧИ П О П РО ГРА М М И РО В А Н И Ю . ЛУ ЧШ И Е РЕ Ш Е Н И Я Часть 9 У чебное издание
В О РО Н Е Ж – 2004
Б Б К 32.97 У Д К 681.3 А вторы : д оц. О .Ф .У ск ова, д оц. О .Д .Горбе н к о,
О ли м п и ад н ы е зад ачи п о п рограм м и рован и ю . Л у чш и е ре ш е н и я. В д е вяти частях. Часть 9.: У че бн ое и зд ан и е / О .Ф .У ск ова, О .Д .Горбе н к о – В орон е ж: В орон е жски йгосу д арстве н н ы й у н и ве рси те т, 2004. – с.68
О ли м п и ад н ы е зад ачи п о п рограм м и рован и ю . Л у чш и е ре ш е н и я. В д е вяти частях. Часть 9.: У че бн ое и зд ан и е / О .Ф .У ск ова, О .Д .Горбе н ко, – В орон е ж: В орон е жск и йгосу д арстве н н ы й у н и ве рси те т, 2004. – с.68
Сборн и к составле н п о м ате ри алам Тре тье й откры той ре ги он альн ой сту д е н че ской ш к олы -оли м п и ад ы п о п рограм м и рован и ю и ком п ью те рн ом у м од е ли рован и ю .
Б Б К 32.97 У Д К 681.3 П е чатае тся п о ре к ом е н д аци и ре д акци он н о-и зд ате льск ого сове та фак у льте та п ри клад н ойм ате м ати ки , и н форм ати ки и м е хан и ки В орон е жск ого госу н и ве рси те та Ре це н зе н т– к ан д и д атфи зи к о-м ате м ати че ски хн ау к , д оце н т Л .С.Ми ловск ая ISBN 5-815-047-0 © В орон е жск и й у н и ве рси те т © О .Ф .У ск ова, О .Д .Горбе н ко
67
П РЕ Д И СЛО В И Е
repeat if (x+k>=m) and (x-k=n) and (y-km then x:=x-k else x:=x+k; if y>n then y:=y-k else y:=y+k; k:=k div 2; until k=1; if (x+k>=m) and (x-k=n) and (y-kcount12 then count12:=A[y1,l]; count21:=2; for l:=1 to 4 do if (A[y2,1]=count21) or (A[y2,2]=count21) or (A[y2,3]=count21) or (A[y2,4]=count21) then inc(count21); count22:=1; for l:=1 to 4 do if A[y2,l]>count22 then count22:=A[y2,l]; if (count11-1=count12) and (count21-1=count22) then twopairs:=true else twopairs:=false;
ш к олы –оли м п и ад ы вы сту п ал В орон е жск и й госу д арстве н н ы й у н и ве рси те т. Сп и сок сои сп олн и те ле й ш к олы – оли м п и ад ы в 2002 г. н е ск ольк о и зм е н и лся и зн ачи те льн о расш и ри лся. Е сли в 2001 год у сои сп олн и те лям и бы ли В ы чи сли те льн ы й це н тр и м . А .А . Д ород н и цы н а РА Н и В орон е жски й госу д арстве н н ы й п е д агоги че ск и й у н и ве рси те т (В ГП У ), то в 2002 год у сои сп олн и те лям и п ом и м о В ГП У являли сь В орон е жская госу д арстве н н ая те хн ологи че ск ая ак ад е м и я, Ф е д е ральн ы й н ау чн о–п рои звод стве н н ы й це н тр «В орон е жски й Н И И связи », В орон е жски й ре ги он альн ы й це н тр и н форм ати заци и вы сш е й ш к олы , це н тр п равовойи н форм ати к и М и н и сте рства ю сти ци и РФ п о В орон е жск ойобласти . Ре зу льтаты к ом ан д н ого заче та п о и тогам обои хту ров: 1 м е сто П М М В ГУ 2 м е сто СТИ М И С и С 3 м е сто
end else twopairs:=false; end; function onepair:boolean; var j,i,l,count11,count12,count21,count22:byte; y1,y2:byte; Ok:boolean;
В ГТА
4 м е сто Ф К Н В ГУ 5 м е сто м атфак В ГУ 6 м е сто В ГТУ 7 м е сто В ГП У Макси м альн ое коли че ство баллов, которое м ожн о бы ло н абрать во втором ту ре в осн овн ой н ом и н аци и – 30 баллов. С ре зу льтатом 27 баллов п е рвое м е сто у ве ре н н о зан ялсту д е н т3 к у рса фак у льте та П М М В ы ростков Д м и три й. О н вы и грал осн овн ой п ри з ш к олы – оли м п и ад ы – и м е н н у ю сти п е н д и ю к ом п ан и и «И н форм связь-Че рн озе м ье ». О н п олу чи л также сп е ци альн ы й п ри з
begin y1:=0; 62
7
ЗА О «Рет», к ак отли чн и к у че бы , п оказавш и й лу чш и й ре зу льтат. Н а 2-ое м е сто с ре зу льтатом 22 балла вы ш е л сту д е н т 2 к у рса П М М П роси н Се рге й, п обе д и те ль П е рвой ш к олы – оли м п и ад ы . О н н агражд е н од н и м и з осн овн ы х п ри зов оли м п и ад ы – ци фровы м фотоап п аратом от О О О «OCS-Ю г». В торок у рсн и к фак у льте та П М М Си д оре н ко Стан и слав (ре зу льтат 22 балла) и сту д е н т СТИ М И С и С Малаш е н ко О ле г (ре зу льтат 17 баллов), зан явш и е 3 м е сто, п олу чи ли м у зы кальн ы е к олон к и от ЗА О «Ре т». Че тве ртое м е сто п од е ли ли сту д е н т 3 к у рса П М М Гайд ай В и к тор (ре зу льтат 15 баллов), п олу чи вш и й от п ре зи д е н та фи рм ы RelaxUs (СШ А ) А .В . П е ш кова (вы п у скн и ка П М М) кн и гу «Ethical Hacking» объе м ом 720 стран и ц и п яти к у рсн и к В ГТА , п остоян н ы й у частн и к оли м п и ад п о и н форм ати ке Затворн и цки й А ле к сан д р (ре зу льтат 12 баллов), п олу чи вш и й н ау ш н и к и от «OCS-Ю г». Сре д и сту д е н ток м е ста расп ре д е ли ли сьсле д у ю щ и м образом : Б ойче н к о А н астаси я 3 к у рс П М М – 1 м е сто; О рлова А ле к сан д ра 3 к у рс П М М – 2 м е сто; К озлова О льга СТИ М И С и С – 3 м е сто. Л у чш и м сре д и и н огород н и х сту д е н тов бы л М алаш е н к о О ле г (17 баллов), п е рвое м е сто сре д и сту д е н тов те хн и че ск и х ву зов зан ял Затворн и цк и й А ле к сан д р (12 баллов), сре д и сту д е н тов вое н н ы х ву зов н а п е рвое м е сто вы ш е лГарш и н И горь(3 балла). Ре зу льтаты второго ту ра в осн овн ойн ом и н аци и : Ф .И .О . У ч.заве д е н и е Ф ак у льте т, Су м м а к у рс баллов В ы ростк ов Д м и три й В ГУ П ММ 3 27 В и ктор Гайд ай
В ГУ
ПММ
3
15
Солом ати н А ле ксе й Л агу н ов Се рге й Л ари н И горь П огоре ле н ко В лад и м и р П роси н Се рге й Си д оре н ко Стан и слав М у хое д ов Д м и три й
В ГУ В ГУ В ГУ В ГУ В ГУ В ГУ В ГУ
Ф КН МА Т ПММ ПММ ПММ ПММ ПММ
1 2 2 2 2 2 3
5,5 5 5 5 22 18 4
Гарш и н И горь Затворн и цки й
ВВА И И В ГТА
2 5
3 12
8
end; function straight:boolean; Var Ok:boolean; i,S,j:byte; begin i:=2; while (not Ok) and (i=4 then begin ok:=true; straight:=true; end; end; if ok then straight:=true else straight:=false; end; function threeofakind:boolean; Var Ok:boolean; i,S,j:byte; begin i:=2; while (not Ok) and (i=3 then begin ok:=true; threeofakind:=true; end; end; if ok then threeofakind:=true else threeofakind:=false; end; function twopairs:boolean; var j,i,l,count11,count12,count21,count22:byte; 61
l:=0; for i:=1 to 4 do if (A[j,i]0) then inc(l); if l=3 then y1:=j else if l=2 then y2:=j; end; if (y10) and (y20) then begin count11:=2; for l:=1 to 4 do if (A[y1,1]=count11) or (A[y1,2]=count11) or (A[y1,3]=count11) or (A[y1,4]=count11) then inc(count11); count12:=1; for l:=1 to 4 do if A[y1,l]>count12 then count12:=A[y1,l]; count21:=2; for l:=1 to 4 do if (A[y2,1]=count21) or (A[y2,2]=count21) or (A[y2,3]=count21) or (A[y2,4]=count21) then inc(count21); count22:=1; for l:=1 to 4 do if A[y2,l]>count22 then count22:=A[y2,l]; if (count11-1=count12) and (count21-1=count22) then fullhouse:=true else fullhouse:=false; end else fullhouse:=false; end; function flush:boolean; Var Ok:boolean; i,S,j:byte; begin i:=2; while (not Ok) and (i=5 then begin ok:=true; flush:=true; end; end; if ok then flush:=true else flush:=false; 60
Резу льтаты второго ту ра в н ом и н аци и «П е рвок у рсн и к и » Ф .И .О . У ч.заве д е н и е Ф ак у льте т Су м м а баллов Н и к олае ва Татьян а Е вге н ье вн а В ГУ фи з 0,3 Д рап алю к В лад и м и р Се рге е ви ч В ГУ Щ е рбаков Е вге н и й А н атолье ви ч В ГУ
фи з ПММ 9
5 10
М ам е д ов Эм и н Ф арад О глы Солом ати н А ле ксе й И ван ови ч Ш али тки н А н д ре й В лад и м и рови ч Н е год яе в А ле ксе й М и хайлови ч Ре ве н к о А ле н а В але рье вн а К аш и ри н А ле ксан д р Н и к олае ви ч Л ан цу зски й М и хаи лМ и хайлови ч Ц е п ляе в К он стан ти н Ю рье ви ч М ам он ов Д м и три й Се рге е ви ч Сви ри д ов А н д ре й А ле к сан д рови ч К отов Се рге й А ле к сан д рови ч
В ГУ П М М В ГУ Ф К Н В ГУ П М М В ГП У фи зм ат В ГП У фи зм ат В ГП У фи зм ат В ГУ фи з В ГУ Ф К Н В ГУ П М М В ГУ фи з В ГУ П М М
7 10 5 5 0,3 1 0,3 2 7 5 0,5
function fourofakind:boolean; var j,i,l,count1,count2:byte; Ok:boolean; begin ok:=false; i:=2; while (not ok) and (icount2 then count2:=A[i,l]; if count1-1=count2 then fourofakind:=true; end else fourofakind:=false;
Т р еть я о ткр ы та я р егио на ль на я студенческа я ш ко ла -о лим п иа да п о п р о гр а м м ир о ва нию и ко м п ь ютер но м у м о делир ова нию (п р оектТ 3112/2072) ПОЛ О Ж Е Н И Е о Тре тье й откры той ре ги он альн ойсту д е н че ск ой ш к оле - оли м п и ад е п о п рограм м и рован и ю и к ом п ью те рн ом у м од е ли рован и ю О Б Щ И Е ПО Л О Ж Е Н И Я Тре тья отк ры тая ре ги он альн ая сту д е н че ск ая ш к ола-оли м п и ад а п о п рограм м и рован и ю и к ом п ью те рн ом у м од е ли рован и ю п ровод и тся в рам к ах 10
end; function fullhouse:boolean; var j,i,l,count11,count12,count21,count22:byte; y1,y2:byte; Ok:boolean; begin y1:=0;y2:=0; for j:=2 to 14 do begin 59
Ф е д е ральн ой це ле вой п рограм м ы "И н те граци я н ау к и и образован и я", н ап равле н и е 2.7 "П рове д е н и е н ау чн ы х к он к у рсов, ш к ол и к он фе ре н ци й д ля сту д е н тов, асп и ран тов, м олод ы х п ре п од авате ле й и сотру д н и к ов ву зов и н ау чн ы хорган и заци й ", п рое к тТ3112. Головн ая орган и заци я п рое кта - В орон е жск и й госу д арстве н н ы й у н и ве рси те т. И сп олн и те ли : - В орон е жск и й госу д арстве н н ы й п е д агоги че ски й у н и ве рси те т (ре к тор п роф. П од к олзи н В .В .); - В орон е жски й ре ги он альн ы й це н тр Ф е д е раци и И н те рн е т образован и я (д и ре к тор п роф. Л ан д сбе рг С.Е .);
Var i,x,y:byte; code:integer; K:TKart; A:TKol; ch:string[3]; F:text; function straightflash:boolean; var j,i,l,count1,count2:byte; Ok:boolean;
П рое ктн ап равле н н а разви ти е творче ской акти вн ости сту д е н тов, ори е н таци ю у чащ е йся м олод е жи н а ре ш е н и е зад ач и н форм ати заци и н ау чн ы х
begin ok:=false; j:=1; while (not Ok) and (jbest) best=b; /* printf("Combination: "); for(i=0;i k.y) then k1.y := k.y + size else k1.y := k.y - size;
{ О п ре д е ляе м , с к е м общ ае тся вод и те льdd }
CheckCurPoint;
for ss := 1 to S do { О п ре д е ляе м , ск е м dd общ ае тся п ри встре чахн а остан овк е ss
size := size div 2;
(е сли он там вообщ е бы вае т) }
k := k1; end;
if TimeTable[ss,dd].period 0 then
end;
for j := (dd + 1) to D do { П рове ряе м , общ ае тся ли вод и те ль j с вод и те ле м dd н а остан овк е ss (оп ятьже , е сли j там вообщ е бы вае т). Н ам и зве стн а и н форм аци я о п ри бы ти яхобои хвод и те ле й, j и dd, н а остан овк у ss. Н ад о у зн ать, ок ажу тся ли он и в к ак ой-то м ом е н т вре м е н и н а д ан н ой остан овке од н овре м е н н о (е сли он и встре тятся од н ажд ы , то п отом бу д у т встре чаться ре гу лярн о). Д ля этого н ад о у зн ать, и м е е тли у равн е н и е A * x + B = C * y + D це лы е ре ш е н и я, гд е А и B соотве тстве н н о – п ром е жу ток м е жд у п ри бы ти ям и и вре м я п е рвого п ри бы ти я вод и те ля j, С и D - п ром е жу ток м е жд у п ри бы ти ям и и вре м я п е рвого п ри бы ти я вод и те ля dd.
GetSquareNum := pntcount; end; begin clrscr; assign(fi, 'input.txt'); assign(fo, 'output.txt');
Согласн о п рави лу Д и офан та, це лы е ре ш е н и я бу д у ттогд а и только тогд а, к огд а |B - D| д е ли тся н а Н О Д (|A|, |C|). }
reset(fi); rewrite(fo); read(fi, n); read(fi, d.x); readln(fi, d.y); while ((n 0) or (d.x 0) or (d.y 0)) do begin
if (TimeTable[ss,j].period 0) and (
writeln(fo, GetSquareNum);
abs (TimeTable[ss,j].first - TimeTable[ss,dd].first)
read(fi, n); read(fi, d.x); readln(fi, d.y);
mod
end;
NOD (TimeTable[ss,j].period,
close(fi); close(fo);
TimeTable[ss,dd].period)
writeln('В ы п олн е н и е п рограм м ы заве рш е н о, см отри файлoutput.txt'); end.
= 0) then { Е сли вод и те ли встре чаю тся, свяже м и хв графе ре бром }
36
33
2. В секвадр аты
begin Graph[dd,j] := TRUE; Graph[j,dd] := TRUE; end;
П ри вод и м ре ш е н и е , п ре д ложе н н ое сту д е н том 4 к у рса фак у льте та П М М В ГУ Дмитр ием В ы р остковы м , которы й как п обе д и те ль оли м п и ад ы вы и гры вае т в те че н и е п осле д н и х д ву х ле т и м е н н у ю сти п е н д и ю ком п ан и и «И н форм связь-Че рн озе м ье »
{ П рове ряе м связн остьграфа Graph }
{В Ы РО СТК О В Д .
{ Строи м тран зи ти вн ое зам ы кан и е графа п о алгори тм у У орш алла }
В ГУ , П М М , 4 к у рс, 8-я гру п п а }
for i := 1 to D do
uses crt;
for j := 1 to D do
type
if Graph[j,i] then
point = record
for dd := 1 to D do
x, y : integer;
Graph[j,dd] := Graph[j,dd] or Graph[i,dd]; { Те п е рь п рове ряе м связн ость п олу че н н ого зам ы к ан и я - это сд е лать куд а
end; const MID = 1024; {це н тральн ая точк а}
ле гче } answer := TRUE;
var
for i := 2 to D do
n : integer; {разм е р н аи больш е го к вад рата}
if not Graph[1,i] then
d : point; {и ск ом ая кле тк а}
begin
fi, fo : text;
answer := FALSE; break;
function GetSquareNum : integer; {integer - бу д е тд остаточн о}
end;
var size : integer; {разм е р те к у щ е го к вад рата} pntcount : integer; {су м м и рован и е н ак ры ваю щ и хк вад ратов} k, k1 : point;{стары й це н тр точки и н овы й це н тр (бли жайш и й к и ском ой к ле тк е )}
{ В ы вод ре зу льтата } if answer then writeln (f_out, TEXT_YES) else
procedure CheckCurPoint;
writeln (f_out, TEXT_NO)
begin
end;
if (d.x = k.x - size)
until N = 0; { Заве рш е н и е работы }
and (d.y = k.y - size) then inc(pntcount);
close (f_in);
end;
close (f_out); END. 34
35
72
69
70
71