Вверх ↑
Ответов: 5446
Рейтинг: 323
#1: 2010-09-24 20:22:45 ЛС | профиль | цитата
Ну вот вроде разобрался с делами, могу и решения проверить. Итак, задачу №2 "осилили" только двое - miver и Assasin. Результаты (мс):
miver773.9360.897296451302
Assasin1140.46590.408751064323


Схемы решений:
miver

Add(MultiElementEx,5359381,903,469)
{
@Hint=#8:задача 2|5:miver|12:Старшая Лига|
AddHint(79,29,72,39,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,7593973,35,21)
{
WorkCount=#6:doRain|
EventCount=#6:onRain|
DataCount=#1:u|
Width=923
Height=431
VOffset=20
HOffset=100
link(doRain,6081765:doEvent1,[])
}
Add(Str_Enum,7874111,135,76)
{
Delimiter=""
link(onEnum,5981432:doEvent1,[])
link(onEndEnum,14706505:doEvent1,[(180,89)(180,245)])
link(String,7593973:u,[])
}
Add(Case,8235575,227,76)
{
Value=String()
DataOnTrue=Real(-0.5)
link(onNextCase,5257569:doCase,[])
link(onTrue,10295239:doPrev,[(272,89)(272,136)])
}
Add(Case,5257569,283,76)
{
Value=String(/)
DataOnTrue=Real(0.5)
link(onTrue,10295239:doNext,[(322,89)(322,129)])
}
Add(Hub,6081765,49,41)
{
OutCount=6
link(onEvent1,12216100:In,[])
link(onEvent2,10349385:In,[])
link(onEvent3,6191545:In,[])
link(onEvent4,10177825:In,[])
link(onEvent5,5625397:In,[])
link(onEvent6,7874111:doEnum,[])
}
Add(Counter,10295239,329,123)
{
Min=-10000
Max=10000
Point(doValue)
link(onNext,2782240:doEvent1,[])
}
Add(StrCat,4917361,322,174)
{
link(onStrCat,4627914:doStrCatDlm,[])
link(Str2,10295239:Count,[])
}
Add(Hub,5981432,189,76)
{
link(onEvent1,8235575:doCase,[])
link(onEvent2,4917361:doStrCat,[(217,89)(217,180)])
}
Add(Math,2818237,518,123)
{
OpType=39
ResultType=0
Default=-10000
Point(doClear)
link(Op2,16006237:Var3,[(531,111)(557,111)(557,170)])
}
Add(GetDataEx,16006237,518,165)
{
link(Data,2818237:Result,[])
}
Add(For,15073695,443,246)
{
link(onEvent,6954628:doEvent1,[])
link(onStop,12043484:doData,[(483,259)(483,325)])
link(Start,6842172:Var2,[])
link(End,16006237:Var1,[(456,170)])
}
Add(Math,13595551,443,130)
{
OpType=38
ResultType=0
Default=10000
Point(doClear)
link(Op1,6842172:Var1,[(449,118)(437,118)(437,170)])
}
Add(Hub,2782240,413,123)
{
link(onEvent1,2818237:doOperation,[])
link(onEvent2,13595551:doOperation,[])
}
Add(GetDataEx,6842172,443,165)
{
link(Data,13595551:Result,[])
}
Add(BlockFind,10299818,702,239)
{
Point(doStartBlock)
Point(doEndBlock)
Point(onNotFind)
link(onSearch,13704070:doEnum,[])
link(Text,11559536:Result,[])
}
Add(StrCat,4035652,560,246)
{
Str1=""
link(onStrCat,4415212:doStrCat,[])
}
Add(StrCat,12655669,609,288)
{
Str1="/"
link(onStrCat,9357999:doStrCat,[])
}
Add(Hub,6954628,490,246)
{
OutCount=3
link(onEvent1,4035652:doStrCat,[])
link(onEvent2,2320496:doOperation,[(548,259)(548,294)])
link(onEvent3,2793986:In,[])
}
Add(Math,2320496,562,288)
{
Op2=1
ResultType=0
link(onResult,12655669:doStrCat,[])
}
Add(LineBreak,14099215,660,239)
{
Caption="i"
link(Out,10299818:doSearch,[])
Primary=[2793986,-146,21]
}
Add(StrCatDelim,4627914,399,174)
{
Delimiter=";"
Point(doClear)
link(Str1,16177044:Var2,[(405,162)(434,162)])
}
Add(LineBreak,13122065,238,144)
{
Caption="r1"
link(Out,8268329:doData,[])
Primary=[12216100,-164,-103]
}
Add(LineBreak,9765041,380,137)
{
Caption="r2"
link(Out,13595551:doClear,[])
Primary=[10349385,-274,-89]
}
Add(LineBreak,12702641,479,130)
{
Caption="r3"
link(Out,2818237:doClear,[])
Primary=[6191545,-404,-75]
}
Add(LineBreak,6044713,359,181)
{
Caption="r4"
link(Out,4627914:doClear,[])
Primary=[10177825,-254,-119]
}
Add(DoData,8268329,280,144)
{
Data=Integer(0)
link(onEventData,10295239:doValue,[])
}
Add(Math,11277856,876,246)
{
ResultType=0
Point(doClear)
link(Op2,11304936:Var3,[(889,234)(915,234)(915,289)])
}
Add(DoData,12043484,876,319)
{
Data=Integer(0)
link(onEventData,7593973:onRain,[(933,325)(933,47)])
link(Data,11304936:Var2,[])
}
Add(GetDataEx,11304936,876,284)
{
link(Data,11277856:Result,[])
}
Add(LineBreak,8619460,837,253)
{
Caption="r5"
link(Out,11277856:doClear,[])
Primary=[5625397,-762,-184]
}
Add(Str_Enum,13704070,748,239)
{
link(onEndEnum,10967910:doOperation,[])
}
Add(Math,10967910,799,246)
{
OpType=1
Op2=2
ResultType=0
Point(doClear)
link(onResult,11277856:doOperation,[])
link(Op1,13704070:NumSubStr,[(805,234)(788,234)(788,285)(754,285)])
}
Add(StrCat,9357999,655,288)
{
Str2=";"
link(onStrCat,10299818:doEndBlock,[(695,294)(695,259)])
}
Add(StrCat,4415212,610,246)
{
Str2=";"
link(onStrCat,10299818:doStartBlock,[])
}
Add(StrCat,11559536,702,198)
{
Str2=";"
link(Str1,16177044:Var3,[(708,188)])
}
Add(GetDataEx,16177044,428,183)
{
Angle=2
link(Data,4627914:Result,[(434,214)(405,214)])
}
Add(Hub,14706505,350,239)
{
link(onEvent1,11559536:doStrCat,[(437,245)(437,204)])
link(onEvent2,15073695:doFor,[(404,252)(404,252)])
}
END_SDK

Assasin

Add(MultiElementEx,13600752,280,476)
{
@Hint=#8:задача 2|7:Assasin|12:Старшая Лига|
AddHint(-6,55,72,39,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,7593973,133,35)
{
WorkCount=#6:doRain|
EventCount=#6:onRain|
DataCount=#1:u|
Width=755
Height=284
link(doRain,3246281:doEvent1,[(140,41)(140,111)])
}
Add(Str_Enum,3715687,203,126)
{
Delimiter=""
link(onEnum,11746736:doGetIndex,[])
link(onEndEnum,46778:doEnum,[(310,139)(310,188)])
link(String,11834803:Var2,[])
}
Add(Memory,15472518,399,91)
{
Default=Integer(0)
link(onData,6245029:doAdd,[])
}
Add(StrList,11746736,252,84)
{
Strings=#1:/|1:_|2:\|
Point(doGetIndex)
Point(onGetIndex)
link(onGetIndex,2908746:doOperation,[])
}
Add(Math,4666567,350,91)
{
link(onResult,15472518:doValue,[])
link(Op1,15472518:Value,[(356,79)(389,79)(389,135)(405,135)])
}
Add(Case,9858922,532,182)
{
Value=String(\)
link(onTrue,1122528:doOperation,[])
}
Add(Math,8345806,728,189)
{
OpType=1
link(onResult,13735747:doOperation,[])
link(Op2,12860539:Var3,[(741,166)])
}
Add(Math,11585414,826,189)
{
Point(doClear)
link(Op1,268775:Var3,[(832,177)(818,177)])
}
Add(DoData,4554688,812,245)
{
link(onEventData,7593973:onRain,[(849,251)(849,41)])
link(Data,268775:Var2,[])
}
Add(GetDataEx,268775,812,224)
{
Angle=1
link(Data,11585414:Result,[(832,229)])
}
Add(Math,2908746,301,91)
{
OpType=1
Op2=1
link(onResult,4666567:doOperation,[])
}
Add(Copy,15000095,483,182)
{
Count=1
link(onCopy,9858922:doCase,[])
link(Str,11834803:Var3,[(489,47)])
link(Position,12860539:Var2,[])
}
Add(GetDataEx,11834803,203,42)
{
Angle=3
link(Data,7593973:u,[(139,47)])
}
Add(GetDataEx,12860539,490,161)
{
Angle=3
link(Data,9892266:Result,[(476,166)(476,226)(440,226)])
}
Add(Math,1122528,581,189)
{
OpType=1
Op2=1
link(onResult,9289963:doFind,[])
link(Op1,46778:Item,[(587,177)(573,177)(573,230)(391,230)])
}
Add(StrList,6245029,448,91)
{
}
Add(ArrayEnum,46778,385,182)
{
link(onItem,9892266:doOperation,[])
link(onEndEnum,4554688:doData,[(426,195)(426,251)])
link(Array,11863974:Var1,[(391,159)])
}
Add(Math,9892266,434,182)
{
Op2=1
link(onResult,15000095:doCopy,[])
link(Op1,10653417:Var2,[])
}
Add(ArrayFind,9289963,630,189)
{
link(onFind,6783533:doCase,[])
link(Array,11863974:Var3,[(636,159)])
link(Index,10653417:Var3,[(643,170)])
link(Value,1122528:Result,[(650,177)(618,177)(618,233)(587,233)])
}
Add(GetDataEx,11863974,462,154)
{
link(Data,6245029:Array,[])
}
Add(Math,13735747,777,189)
{
Op2=1
link(onResult,11585414:doOperation,[])
}
Add(Case,6783533,679,189)
{
Value=Integer(-1)
link(onNextCase,8345806:doOperation,[])
}
Add(Hub,3246281,154,105)
{
OutCount=4
link(onEvent1,15472518:doClear,[(386,111)(386,104)])
link(onEvent2,11585414:doClear,[(178,118)(178,237)(813,237)(813,202)])
link(onEvent3,6245029:doClear,[(439,125)(439,104)])
link(onEvent4,3715687:doEnum,[])
}
Add(GetDataEx,10653417,434,165)
{
Angle=3
link(Data,46778:Index,[(419,170)(419,226)(398,226)])
}
END_SDK

Схема тестирования прилагается.

Первое место достаётся miver-у, второе - Assasin-у. Приз за третье место остаётся неразыгранным.
карма: 1

0
файлы: 1task2.sha [23.9KB] [380]