Ïàìÿòêà ó÷àñòíèêà òåñòèðîâàíèÿ Ïðèìåðû ðåøåíèÿ çàäà÷è A+B

advertisement
Ïðåçèäåíòñêàÿ ïðîãðàììà. 20112012 ó÷åáíûé ãîä. Òåñòèðîâàíèå 3. 10 êëàññ.
Ïàìÿòêà ó÷àñòíèêà òåñòèðîâàíèÿ
Ñëåäóéòå ñëåäóþùèì ïðàâèëàì âî âðåìÿ ó÷àñòèÿ â òåñòèðîâàíèè:
1. Äëÿ çàäà÷ A è B ðåøåíèåì ÿâëÿåòñÿ òåêñòîâûé ôàéë, à äëÿ çàäà÷ C, D è E ðåøåíèåì ÿâëÿåòñÿ ïðîãðàììà,
íàïèñàííàÿ íà îäíîì èç ðàçðåøåííûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ. Ðàçðåøåííûìè ñ÷èòàþòñÿ ÿçûêè, äîñòóïíûå
â ìåíþ âûáîðà ÿçûêà ïðè ïîïûòêå îòïðàâèòü çàäà÷ó.
2. Ïðîãðàììà äîëæíà ÷èòàòü âõîäíûå äàííûå òîëüêî èç ôàéëà input.txt è âûâîäèòü ðåçóëüòàò â âûõîäíîé ôàéë
output.txt. Ïðîãðàììà äîëæíà ñ÷èòàòü, ÷òî ýòè ôàéëû íàõîäÿòñÿ â òåêóùåì êàòàëîãå. Ðàáîòàòü ñ êàêèìè-ëèáî
äðóãèìè ðåñóðñàìè êîìïüþòåðà çàïðåùåíî.
3. Ðåçóëüòàòû ðàáîòû ïðîãðàììû ïðîâåðÿþòñÿ àâòîìàòè÷åñêè, ïîýòîìó ïðîãðàììà äîëæíà òî÷íî ñîáëþäàòü
ôîðìàò âûâîäà, óêàçàííûé â óñëîâèè. Íå äîïóñêàåòñÿ âûâîä äîïîëíèòåëüíûõ ñîîáùåíèé, èëè îæèäàíèå
ââîäà-âûâîäû ñ ýêðàíà. Âàøà ïðîãðàììà äîëæíà çàêàí÷èâàòü ñâîþ ðàáîòó ïîñëå âûâîäà âûõîäíîãî ôàéëà,
à íå ¾çàâèñàòü¿ â îæèäàíèè ââîäà ñ êëàâèàòóðû.
4. Ãàðàíòèðóåòñÿ, ÷òî âõîäíûå ôàéëû áóäóò ñîîòâåòñòâîâàòü ôîðìàòó, óêàçàííîìó â óñëîâèè. Âñå îãðàíè÷åíèÿ,
çàÿâëåííûå â óñëîâèè çàäà÷è, áóäóò âûïîëíÿòüñÿ â òåñòàõ æþðè. Ïðîâåðÿòü èõ â ïðîãðàììå íå èìååò ñìûñëà.
Îãðàíè÷åíèÿ ïî âðåìåíè óêàçàíû äëÿ êîìïüþòåðà ñ òàêòîâîé ÷àñòîòîé 2.4 ÃÃö.
5. Ìàêñèìàëüíûé áàëë çà êàæäóþ çàäà÷ó óêàçàí â óñëîâèè. ×àñòè÷íûå ðåøåíèÿ áóäóò îöåíèâàòüñÿ èñõîäÿ èç
êîëè÷åñòâà ïðîéäåííûõ òåñòîâ.
6. Ñòàðàéòåñü èñïîëüçîâàòü êàê ìèíèìóì 32-õ áèòíûå òèïû äàííûõ, åñëè ýòî ïîçâîëÿåò îãðàíè÷åíèå ïî ïàìÿòè
(íàïðèìåð, longint â Ïàñêàëå).
Ïðèìåðû ðåøåíèÿ çàäà÷è A+B
Íèæå ïðèâåäåíû ðåøåíèÿ çàäà÷è, â êîòîðîé òðåáóåòñÿ ñ÷èòàòü äâà ÷èñëà è âûâåñòè èõ ñóììó.
• Pascal (Delphi):
var
a , b: longint ;
begin
a s s i g n ( input , ' i n p u t . t x t ' ) ;
reset ( i n p u t ) ;
readln ( a , b ) ;
c l o s e ( input ) ;
a s s i g n ( output , ' output . t x t ' ) ;
( output ) ;
(a + b);
c l o s e ( output ) ;
.
rewrite
writeln
end
• C/C++:
#include <s t d i o . h>
int main ( ) {
freopen ( " input . txt " , " rt " , stdin ) ;
f r e o p e n ( " output . t x t " , "wt" , s t d o u t ) ;
a, b;
s c a n f ( "%d%d" , &a , &b ) ;
p r i n t f ( "%d\n" , a + b ) ;
fclose ( stdin );
f c l o s e ( stdout ) ;
0;
int
}
return
• Java:
import j a v a . u t i l . Scanner ;
import j a v a . i o . P r i n t W r i t e r ;
import j a v a . i o . F i l e ;
public class S o l u t i o n {
public static void main ( S t r i n g [ ] a r g s )
throws E x c e p t i o n {
S o l u t i o n s o l u t i o n = new S o l u t i o n ( ) ;
s o l u t i o n . run ( ) ;
Ñòðàíèöà 1 èç 4
Ïðåçèäåíòñêàÿ ïðîãðàììà. 20112012 ó÷åáíûé ãîä. Òåñòèðîâàíèå 3. 10 êëàññ.
}
private void run ( ) throws E x c e p t i o n {
Scanner s c a n = new Scanner (
new F i l e ( " i n p u t . t x t " ) ) ;
P r i n t W r i t e r w r i t e r = new P r i n t W r i t e r (
new F i l e ( " output . t x t " ) ) ;
int n = s c a n . n e x t I n t ( ) ;
int m = s c a n . n e x t I n t ( ) ;
}
}
w r i t e r . p r i n t (m + n ) ;
writer . close ( ) ;
Çàäà÷à A. Óëåé
Èìÿ âõîäíîãî ôàéëà:
input.txt
Èìÿ âûõîäíîãî ôàéëà:
output.txt
Îãðàíè÷åíèå ïî âðåìåíè:
2 ñåêóíäû
Îãðàíè÷åíèå ïî ïàìÿòè:
256 ìåãàáàéò
Êåâèí ðàáîòàåò ñòðîèòåëåì. Íî òàê êàê Êåâèí ï÷åëà, îí ñòðîèò òîëüêî óëüÿ.
Êàê èçâåñòíî, óëåé ñîñòîèò èç îäèíàêîâûõ ñîò, êîòîðûå ÿâëÿþòñÿ ïðàâèëüíûìè øåñòèóãîëüíèêàìè. Ñðåäè ï÷åë ñ÷èòàåòñÿ, ÷òî óëåé ðàçìåðà îäèí ýòî óëåé, ñîñòîÿùèé èç åäèíñòâåííîé ñîòû,
óëåé ðàçìåðà äâà ñîñòîèò èç óëüÿ ðàçìåðà îäèí, îêðóæåííîãî îäíèì êîëüöîì ñîò, . . . óëåé ðàçìåðà
k ýòî óëåé ðàçìåðà k − 1, îêðóæåííûé êîëüöîì ñîò.
Íåäàâíî Êåâèíà ïîïðîñèëè ïîñòðîèòü óëåé ðàçìåðà n. Äëÿ ïëàíèðîâàíèÿ ñòðîèòåëüíûõ ðàáîò
Êåâèíó íåîáõîäèìî çíàòü òî÷íîå ÷èñëî ñîò â óëüå. Ïîìîãèòå åìó.
Íàïèøèòå ïðîãðàììó, êîòîðàÿ ïî ðàçìåðó óëüÿ n áóäåò óçíàâàòü ÷èñëî ñîò â òàêîì óëüå.
Ôîðìàò âõîäíîãî ôàéëà
Âõîäíîé ôàéë ñîäåðæèò åäèíñòâåííîå öåëîå ÷èñëî n (1 ≤ n ≤ 109) ðàçìåð óëüÿ.
Ôîðìàò âûõîäíîãî ôàéëà
 âûõîäíîé ôàéë âûâåäèòå åäèíñòâåííîå ÷èñëî ÷èñëî ñîò â óëüå.
Ïðèìåðû
1
3
input.txt
1
19
Ñòðàíèöà 2 èç 4
output.txt
Ïðåçèäåíòñêàÿ ïðîãðàììà. 20112012 ó÷åáíûé ãîä. Òåñòèðîâàíèå 3. 10 êëàññ.
Çàäà÷à B. Òåêñòîâûé ðåäàêòîð
Èìÿ âõîäíîãî ôàéëà:
input.txt
Èìÿ âûõîäíîãî ôàéëà:
output.txt
Îãðàíè÷åíèå ïî âðåìåíè:
2 ñåêóíäû
Îãðàíè÷åíèå ïî ïàìÿòè:
256 ìåãàáàéò
Àíäðåé çàíèìàåòñÿ ðàçðàáîòêîé íîâîãî òåêñòîâîãî ðåäàêòîðà. Ïåðâàÿ ðàáîòàþùàÿ âåðñèÿ ýòîãî ðåäàêòîðà ïîääåðæèâàåò òîëüêî îäíîñòðî÷íûå äîêóìåíòû. Ýòîò íåäîñòàòîê áóäåò óñòðàíåí â
ñëåäóþùåé âåðñèè.
Îñíîâíîé âîçìîæíîñòüþ ýòîãî ðåäàêòîðà ÿâëÿåòñÿ âîçìîæíîñòü çàïèñè äåéñòâèé ïîëüçîâàòåëÿ.
Ïîëüçîâàòåëü ìîæåò ñîâåðøèòü ñëåäóþùèå äåéñòâèÿ:
• ââåñòè î÷åðåäíóþ áóêâó â ýòîì ñëó÷àå â ñïèñîê êîìàíä äîáàâëÿåòñÿ ââåäåííàÿ áóêâà;
• ñòåðåòü ïîñëåäíèé íàáðàííûé ñèìâîë â ýòîì ñëó÷àå â ñïèñîê êîìàíä äîáàâëÿåòñÿ #;
• ñòåðåòü âñþ ñòðîêó â ýòîì ñëó÷àå â ñïèñîê êîìàíä äîáàâëÿåòñÿ @.
Åñëè ïåðåä ñòèðàíèåì ïîñëåäíåãî ââåäåííîãî ñèìâîëà èëè âñåé ñòðîêè ñòðîêà ïóñòà, òî íè÷åãî íå
ïðîèñõîäèò.
Îäíà èç îñíîâíûõ ïðîáëåì òåïåðü íàïèñàòü ïðîãðàììó, êîòîðàÿ áóäåò âîñïðîèçâîäèòü äåéñòâèÿ ïîëüçîâàòåëÿ ïî çàïèñàííîé ïîñëåäîâàòåëüíîñòè êîìàíä. Âàøà çàäà÷à íàïèñàòü òàêóþ
ïðîãðàììó. Îíà äîëæíà ïî ñïèñêó êîìàíä íàõîäèòü ñòðîêó, êîòîðàÿ ïîëó÷àåòñÿ ïîñëå èõ âûïîëíåíèÿ.
Ôîðìàò âõîäíîãî ôàéëà
Âõîäíîé ôàéë ñîäåðæèò îäíó ñòðîêó, â êîòîðîé çàïèñàí ñïèñîê êîìàíä. Åãî äëèíà íå ïðåâîñõîäèò
255. Êàæäûé ñèìâîë ñòðîêè ÿâëÿåòñÿ ëèáî ñòðî÷íîé áóêâîé ëàòèíñêîãî àëôàâèòà, ëèáî ñèìâîëîì
@, ëèáî ñèìâîëîì #.
Ôîðìàò âûõîäíîãî ôàéëà
 âûõîäíîé ôàéë âûâåäèòå ñòðîêó, ïîëó÷àþùóþñÿ â ðåçóëüòàòå âûïîëíåíèÿ âñåõ êîìàíä èç
âõîäíîãî ôàéëà.
Ïðèìåðû
hellov#world@thisisasample
thisisasample
abc####hello
hello
input.txt
output.txt
input.txt
output.txt
Çàäà÷à C. Âû÷èñëèòåëüíàÿ áèîëîãèÿ
Èìÿ âõîäíîãî ôàéëà:
input.txt
Èìÿ âûõîäíîãî ôàéëà:
output.txt
Îãðàíè÷åíèå ïî âðåìåíè:
2 ñåêóíäû
Îãðàíè÷åíèå ïî ïàìÿòè:
256 ìåãàáàéò
 ñîâðåìåííîé áèîëîãèè ó÷åíûì ÷àñòî ïðèõîäèòñÿ èìåòü äåëî ñ ïîñëåäîâàòåëüíîñòÿìè ÄÍÊ. Ýòè
Ñòðàíèöà 3 èç 4
Ïðåçèäåíòñêàÿ ïðîãðàììà. 20112012 ó÷åáíûé ãîä. Òåñòèðîâàíèå 3. 10 êëàññ.
ïîñëåäîâàòåëüíîñòè çà÷àñòóþ ÿâëÿþòñÿ î÷åíü äëèííûìè è èõ ðó÷íàÿ îáðàáîòêà òðåáóåò áîëüøîãî
êîëè÷åñòâà âðåìåíè è ñèë. Ïîýòîìó âîçíèêàåò èäåÿ àâòîìàòèçèðîâàòü ýòîò ïðîöåññ.
Äëÿ ýòîãî ìîæíî ïðèìåíÿòü êîìïüþòåðíûå ìåòîäû îáðàáîòêè äàííûõ, íàïðèìåð, âåñüìà ïîëåçíûìè îêàçûâàþòñÿ àëãîðèòìû íà ñòðîêàõ.  ýòîé çàäà÷å ïîñëåäîâàòåëüíîñòü ÄÍÊ áóäåò ïðåäñòàâëÿòüñÿ â âèäå ñòðîêè, âñå ñèìâîëû êîòîðîé âõîäÿò â ìíîæåñòâî {A, G, C, T }.
Ïóñòü äàíû äâå ïîñëåäîâàòåëüíîñòè ÄÍÊ: s = s1s2 . . . sn è t = t1t2 . . . tm. Áóäåì ãîâîðèòü, ÷òî t
ìîæåò ïîëó÷èòñÿ â ðåçóëüòàòå ýâîëþöèè èç s, åñëè s ÿâëÿåòñÿ ïîäïîñëåäîâàòåëüíîñòüþ t, òî åñòü
ñóùåñòâóåò òàêàÿ ïîñëåäîâàòåëüíîñòü èíäåêñîâ 1 ≤ i1 < i2 < . . . < in ≤ m, ÷òî s1 = ti , s2 = ti , . . . ,
sn = ti . Íåîáõîäèìî âûÿñíèòü, ìîæåò ëè ïîñëåäîâàòåëüíîñòü t ïîëó÷èòñÿ â ðåçóëüòàòå ýâîëþöèè
èç s.
1
2
n
Ôîðìàò âõîäíîãî ôàéëà
Ïåðâàÿ ñòðîêà âõîäíîãî ôàéëà ñîäåðæèò ïîñëåäîâàòåëüíîñòü s, âòîðàÿ ïîñëåäîâàòåëüíîñòü t.
Ðàçìåð âõîäíîãî ôàéëà íå ïðåâîñõîäèò 256 êèëîáàéò.
Ôîðìàò âûõîäíîãî ôàéëà
 âûõîäíîé ôàéë âûâåäèòå ñëîâî YES, åñëè ïîñëåäîâàòåëüíîñòü t ìîãëà ïîëó÷èòñÿ â ðåçóëüòàòå
ýâîëþöèè èç s, è ñëîâî NO èíà÷å.
Ïðèìåðû
GTA
AGCTA
AAAG
GAAAAAT
input.txt
YES
output.txt
NO
Çàäà÷à D. Äåëèòåëè
Èìÿ âõîäíîãî ôàéëà:
input.txt
Èìÿ âûõîäíîãî ôàéëà:
output.txt
Îãðàíè÷åíèå ïî âðåìåíè:
2 ñåêóíäû
Îãðàíè÷åíèå ïî ïàìÿòè:
256 ìåãàáàéò
Çàäàíî íàòóðàëüíîå ÷èñëî x, âñå ïðîñòûå äåëèòåëè êîòîðîãî íå ïðåâîñõîäÿò 1000.
Íàïèøèòå ïðîãðàììó, íàõîäÿùóþ ÷èñëî äåëèòåëåé ÷èñëà x.
Ôîðìàò âõîäíîãî ôàéëà
Ïåðâàÿ ñòðîêà âõîäíîãî ôàéëà ñîäåðæèò öåëîå ÷èñëî x (1 ≤ x ≤ 1018). Âñå ïðîñòûå äåëèòåëè
÷èñëà x íå ïðåâîñõîäÿò òûñÿ÷ó.
Ôîðìàò âûõîäíîãî ôàéëà
 âûõîäíîé ôàéë âûâåäèòå îòâåò íà çàäà÷ó.
Ïðèìåðû
12
239
input.txt
6
2
Ñòðàíèöà 4 èç 4
output.txt
Download