Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 27

( 2009)

(
) SOS .
, ,
... ...,
.
, ,
,
.
.
.
,
, .
,
,
. ,
. .
.
, .
.

( )
.


.

,
.
,
.
...
.



.

.
1 ( 40
).
()
. ,
, /,
.

10 (), 3 ( ),
, ,
, 6 (
6.7).
.
1
( _, ) (
, _ _,
),
( , ),
,
,
, ,
mod div,
.
2 (.
)
.

( ).

. 2
(
)
( ),

.
.
3
(,
) 2005
(,
).

.
4
,
.

( ).


<>

.
(
)
1
, , , , ,
, , ,
/,

, , , ,

,
, , , , ,
, , , , ,
, ,
,
1.
2. "", "",
" ";
3. ;
4.
;
5. .
6. ;
7. ,
.
8. ,
.
9. ,

10.
;
11.
;
2
, , , , ,
,

,
,
, , ,
, , ,
, ,
,
,

, , , , ,
,

,
,
,
, , , , ,
, , , ,
, / ,
, , , , ,
, , , ,
, , ,
, , ,
, 2 ,
, ,
, , ,
, , , ,

1. .
2.
.
3. ;
4. ;
;
5.
; .
6. ;
;
7.
;
8. ; ;
9. ;
.
10. ;
11. .
;
12. 4 .
13.
;
14. ;
15. , , .
16. ,
_ _
_. .
17. ;
18. / -.
19. 45 37.
/ -.
20. (/ _)
.
3
,
,
,

,
,

,
,
,
, , , , ,
,
,
,

,
+ = , ,
, , , ,
, , , ,
, (LIFO), , , , ,
, (FIFO), , ,
, ( ),

,
,

, bubble
sort ( ), .
1.
.
2. .
;
3. ;
;
4. ,
. LIFO;
5.
;
6. ,
. FIFO;
7.
;
8. () ;
;
.
9. ().
10. ;
11.
( )
4

, ,
, ' ',
.

1.
;
2.
;
3.
;
4.
.
6
, , ,
- (, ,
), , -
, / ,
-

, , ,
/ 3 , ,
- 3 ,
, FORTRAN-
, COBOL- -
,
ALGOL--,
PL/I-,
LISP , PROLOG- ,
BASIC- - - , LOGO-
, PASCAL - -
,
C-U-

pascal - C++ ,
JAVA-SUN - - , visual
programming
(
),
event-driven
programming ( ),
visual C++, visual Basic, 4 (SQL),
(. 128 ), , , , , ,
, ,
, , ,
/top-down , - /,
G - -
- GOTO, -
- (objects) , - - ,
, , , ,
(source) , (object) , , , ,
, ,
(),
, ,
1.
;
2. ;
3. ( )
;
4. ;
5. .
6. FORTRAN;
7. COBOL;
8. ALGOL
;
9. PL/1
;
10. LISP
;
11. PROLOG
;
12. BASIC; T
;
13. PASCAL;
14. JAVA;

;
15. C
;
16.
;

17.
;
18. SQL
;
19. ;
20. ;
;
21.
; ;
22. ;
23. ;
24.
;
25. ;
26. GOTO

;
27. .
;
28.

;
29.
;
30.

;
31. ;
32.
.
33. ;
34. ;
35.
. .
36. ;
37.
;
;
7,8,9
, ,
, , , ,
, , ,
, , (), (), (), (),
(), _(), _(), _(), , ,
, ,
.
1. ; .
2. ;
.
3. ;
4. ;
5. (, , ) ;
6. ;
7. .
8. .
9. ;
10. ;
11. ...
_ ... _;
12. ;
13.
;
14. ;
15. ;
10
, ,
: ) - , )
, ) ,
:
)

,
)

-,
)
) ,
, , , ,

, ,

1. ;
2. ; .
3. ;
4. ;
5. ;
6. ().

7. ().

<>



.
:
.

<>
1

2
_



( )
.
:
1
2 .
<_1>
_1
_ <_2>
_2
.
.
_ <_>
_

<>
_1
_1
_2
_2

_
_


_

<>

_ _


()
.
.

<_1>
<_2>
_1

_2
_

<_3>
_3

_4
_
_

,

.

_ <>


.
,
.
<> <> <> _

_
1 _
1.




. ,
.

. , ,
_.
,
,
.


:
1. .
2.

3.
,
2.
4.
_

:
1. .
2.

3.
,
(
)
2.
4.
_


( ).

_
:
key ,
.
,
.


(*
*)

[100]
i 1 100
[i]
_
[100]
i 1 100
[i]
_

!
!

i 100 1 _ -1 !
[i]
!
_
[5]

! 5

, , [100]
0
1
i 1 100
+ [i]
* [i]
_
/100
/ , /
[100]
[1]
_ 1
[1]
_ 1
i 2 100
[i] >
[i]
_ i
_
[i] <
[i]
_ i
_
_
key
[100] ( )
key
0

i1
i <= 100 =
[i] = key

i

ii+1
_
_
=

( )
0
key
i 1 100
[i] = key
+1
, i
_
_


[100]
i 2 100
j 100 i _ -1
[j-1] > A[j] TOTE
Temp A[j-1]
[j-1] A[j]
A[j] Temp
_
_
_
100
.

[j-1] < A[j] TOTE
i -1 = 99 ,
j
.
Temp (
)

[j-1], A[j]
.

i 2 100
j 100 i _ -1
[j-1] > A[j] TOTE
Temp1 A[j-1]
[j-1] A[j]
A[j] Temp1
Temp2 [j-1]
[j-1] [j]
[j] Temp2
_
_
_

( )

( ). ,
().
( )
i2

i <= 100 =

j 100 i _ -1
[j-1] > A[j] TOTE
Temp A[j-1]
[j-1] A[j]
A[j] Temp


_
_
ii+1
_

.
.

[5, 10]
i 1 5
j 1 10
[i, j]
_
_
[5, 10]
i 1 5 !
j 1 10 !
[i, j]
!
_ !
_
j 1 10 !
[2, j] ! 2
_
i 1 5
!
[i, 3] ! 3
_

, [5, 10]
0
i 1 5
j 1 10
+ [i, j]
_
_
/50
/ [5, 10]
max A[1, 1]
_max 1
_max 1
i 1 5
j 1 10
AN A[i, j] > max TOTE
max A[i, j]
_max i
_max j
_
_
_
, max,
& , _max,
& , _max
/ .
2 3
[5, 10]
0
j 1 10
+ [2, j]
_
1
i 1 5
* [i, 3]
_

2 3
[5, 10]
Max_2 A[2, 1]
j 2 10
AN A[2, j] > Max_2 TOTE
Max_2 A[2, j]
_
_
Min_3 A[1, 3]
i 2 5
AN [i, 3] < Min_3 TOTE
Min_3 [i, 3]
_
_
/
[5, 10]
i 1 5
Sum[i] 0
j 1 10
Sum[i] sum[i] + A[i, j]
_
MO[i] Sum[i] / 10
_
/ [5,
10]
j 1 10
Sum[j] 0
i 1 5
Sum[j] sum[j] + A[i, j]
_
MO[j] Sum[j] / 5
_
[5, 10]
i 1 5
Max[i] A[i, 1]
j 2 10
AN A[i, j] > Max[i] TOTE
Max[i] A[i, j]
_
_
_
.
[5, 10]
j 1 10
Min[j] A[1, j]
i 2 5
AN A[i, j] < Min[j] TOTE
Min[j] A[i, j]
_
_
_
.
[5, 10]
k 1 5
i 2 10
j 10 i _ -1
AN A[k, j-1] > A[k, j] TOTE
Temp A[k, j-1]
[k, j-1] A[k, j]
A[k, j] Temp
_
_
_
_

[5, 10] .

1
=10. ,
1, 2
.

.
1. : ( = )
2. : ('' > '')
3. : '' > '' 10
4. : <= 9 (* > 100 ^2 + ^2 > 100)
5. : (1 1) (2 1)

5
> 0

1
_

_
_
5
_

1
_ <=0

-4
1
<= 0
*
+1
_

-4
1
_
*
+1
_ > 0

2
-4
<= 4
+2
+2
_

2
-4
_
+2
+2
_ > 4

6. : (1 2) (2 2)
_
5 1 _ -1

_

1-A, 2-, 3-, 4-, 5-, 6-

-4 0
*
_

1
.
z,
a 3. (
)

a0
c0
i z 4 _ -2
cc+1
c mod 2 = 1
aa+1
_
_

2
-4 4 _ 2
+2
_

3 ,
, 5 . -2
z, z-2, z-4, z-6, z-8.
: 4<= z-8 < 6. 12<=
z < 14.
6 c
( )
z [12, 16).

i 1
i <= 2

ii+
_
2
3
_

+2
_ > 11

1

:

_

_

5
> 0

1
_

-4
1
_
*
+1
_ > 0
2
-4 4
_ 2
+2
_

0
i 0 100 _ 5
i^3
+
i,
_

1
,
:
mod 10
> 0
-1
+
_


F(X)=(^2+1)/(1) X [-5,7],


F().
)
.
) .

.
, ,
, .

( mod 10) - 1 0 _ -1
+
_

1
,
...

) 1
)


-5
S0
<=7
1 <> 0
F (^2+1)/(-1)
F
SS+F
_
X X+1 !, ,
_
, S

S0
1 5
L 1 7
SS+1
_
_
S
S0
1
<= 5
L1
L <= 7
SS+1
LL+1
_
KK+1
_
S

1
:

0
_

+
_ >


_
_, (
_ _)
.


-5
S0
<=7
F (^2+1)/(-1)
F
S S+ F
X X+1
_
, S

1

:
1
36

2
22

3
29

4
18

5
31


.

J.

.

36

22

29

18

31

<=
+

_

1

36

22

29

18

31

36

22

29

31

18

36

22

31

29

18

36

31

22

29

18

36

31

22

29

18

36

31

22

29

18

36

31

29

22

18

36

31

29

22

18

1

_

<=50
*200

<=100
*180

<=200
*160

*150
_
_
_

<=50
*200
_ <=100
*180
_ <=200
*160

*150
_


<= 50
*200
<= 100
*180
<= 200
*160

*150
_

200
1,
2 3. ,

,
(s1, s2 s3) .

:

S1 0
S2 0
S3 0



<= 0
0
<= 5
5
<= 10
10

100
_

1
:


i1
s1 0
s2 0
s3 0
(i > 200)

= 1
s1 s1 + 1
_ = 2
s2 s2 + 1
_ = 3
s3 s3 + 1
_
ii+1
_
s1,s2,s3

1

;
(1)
_
10
i 1 3
10
_
_ = 0

(2)
,,
>
/(2*)
_

(1) :

0
. _
( )

1: 2
2.
.

(2) :
0
0 .
: (>) (0)

2: 1
2.

1
;
(1)
6
_
2
_ ( > 0)
(3)

(2)
_
1
-1
_ ( = 0)
(4)

4
4
-1
_

0
4
1
_

3: 2 ,
1.
1
45
90
180
360
720
1440

(2) 1

(3) 0

(4)

1


(_).
_
,
= 5
< 10
Summary
S+

Subtract
SX-Y
_
+1
3

+5
_

,
= 5 < 10
Summary
S+
+1
3
_ =5 >=10
Subtract
SXY
+1
3

+5
_
1

1
2. 45 37
.

1, 2
.

45
180

+1440
1665

: 1, 2, SUM

SUM 0
1, 2
2>0
2 D 2=1
SUM SUM + M1
TE_
1 2*1
2 2 DIV 2
_
SUM
_ _

(1) 1

2
37
18
9
4
2
1

1

1, 2 / .
;

_(1, 2):

: 1, 2, SUM

SUM 0
2>0
2 D 2=1
SUM SUM + M1
TE_
1 2*1
2 2 DIV 2
_
_ SUM
_
_(1, 2, SUM)

: 1, 2, SUM

SUM 0
2>0
2 D 2=1
SUM SUM + M1
TE_
1 2*1
2 2 DIV 2
_
_
1

(
, , )

: 1, 2,

10


2
1, 2
(1 = 0) (2 = 0)
0
_ (1 > 0 2 > 0) (1 < 0 2 < 0)
1 _ (1)
2 _ (2)
_(1, 2)

1 _ (1)
2 _ (2)
(-1)*_(1, 2)
_
: ,
_

;
2
,
:

I
12
6
6
6
6

Y
7
8
9
10

Z
0
-9
-11

J
12
9
6

:
_

( )
(
!!).

...
( ,
)
!!
. .
mod div. ! div
, mod ! ,
... div divide.
: 1)
, 2) / (mod,
div), 3) .
2
:
_
0
1
2
i 2 9 _ 3
+i
8
j 1
+1
_

*j
_
_
, ,
_

i
2
2
2
5
5
5
5
5
5
5
5
8

0
2
2
2
7
7
7
7
7
7
7
7
15

1
1
2
3
3
4
5
6
7
8
9
10
10

2
2
2
2
2
2
2
2
2
2
2
2
14

J
1
2
2
1
2
3
4
5
6
7
7

: 15, 10 14

X 16
i 12
(i >= 10) (X > i)
X X/2 + i mod 2
i i div 2
Y i + X div i
j 12 i 3
YY+1
ZX-Y
X Z div Y
_
_

16
8
0
-1
-1

:
! !
!

, , .
/. /
. ...
! , , .
.
/ .
...
. !!!

.
--
.
,
.
,
.
,
.

... ...


.
!
.
.
,
.
(),
.
.

2
:

: , ,

8
-4
2
_
__ (, , )
2* 5
+1
,

11

_ <=
_

_ -1
[]<[-1]
TEMP []
[] [-1]
[-1] TEMP
_
_
_
_

__ (X, Y, Z)

: , ,

+
,
_
.

1 :

-4

1
:

-2

-4

-2

-1

2 :
2
:

:

3 :

1)
.

-1

)
, 50
. 15 22.

0 20.
) .

:
(x,y):

: x,y

x > y
xx3
_
x
_

(x,y,z,p)

: x,y,z
: p

z _(x * y)
p T_P(z+8)*2
_
2
)
.
(, )

: [50], TEMP
: , ,

2) :

_1

: ,,
:

5
1
(,)
,
(,,,)
,
(,)
,
_

(, , ):

: [50],
: , ,

0
1
[] =
+1
_
_

_

)

.
-1.

1)
50

),

.

50
( ),

.
.
2)
: 1[50], 2[50],
: I, 1, 2, 1, 2

1 15
1 1
_
1[]
_ 1[]>0 1[]<=20
_
2 22
1 2
_
2[]
MEX_OTOY 2[I]>0 KAI 2[I]<=20
_
(1, 1)
(2, 2)

<> -1
1 (1, 1, )
2 (2, 2, )
1, 2

12


_
_

: , ,

8
-4
2

_
__ (, , )
2* 5
+1
,
_ <=
_

: ,

,
(, ) >=


_
_
(, ):

: , ,

+2
3
*2
^ 2 ( + )
_
1. _
.
2.

_.
3. .

1. _ (, , )

: , , , t, t,

t + 2
t 3
t * t 2
^ 2 (t + t)
_
2. _II

: , ,

,
_ (, , )
>=


_
_ _II
3. _II
,
t + 2
t 3
t * t 2
^ 2 (t + t)
>=


_
_II
2
:
(i)

__ (X, Y, Z)

: , ,

+
,
_
(ii)

_2

: , ,

3
13
2
, ,
_2 (, )
, ,
_2 (, )
, ,
_ _2
_2 (1, 2)

: 1, 2

1 1 DIV 2
2 2 ^ 3
_

(iii) _3

: ,

1
16

_
(, )

+
,
_ < 3
_ _3
(1, 2) :

: 1, 2,

1 _ (1)
2 _ (2)
2 DIV 1

_

2

.
.


<1>
1
<2>
2


<1>
1
<2>
2

13

3
5
_
4
5

_

4
_
5
_

:

.

5 .

: <2>
2 3, ,
5 .
4 <2>
.
2


. ;



.
: 3%
. 6%
. 10% .

.

(, ):

:
:

<= 2 TOTE
* * 0.03
_ = 3
2 * * 0.03 + * 0.06

2 * * 0.03 + * 0.06 + (-3) * * 0.1


_
_

(,)
;
2
:

_
i1
S0
(i <= 5)
S S + (-1) ^ i * i ^2
ii+1
_
S
_
( ...
.. ...
)
_
S0
i 1 5
S S + (-1) ^ i * i ^ 2
_
S
_

2
, 10 ,
1 10 : 15, 3, 0, 5, 16, 2,
17, 8, 19, 1 :


5
:

S=-15.

S:

-1

-6

10

-15

i:

i 1 9 _ 2
k ((i + 10) mod 10) + 1
[i] [k]
i, k, A[i], A[k]
_

i, k, A[i], A[k]

14



.
.

.

1 .

2 .

3 .

4 .

5 .

10


15

16

17

19

16

17

19

16

17

19

17

19

19

:
1, 2, 3, 3
3, 4, 5, 5
5, 6, 2, 2
7, 8, 8, 8
9, 10, 1, 1

__1
// , , , key //
Done
0
0
i 1
(i<=) (done=)
j1
(j<=) (done=)
[i,j]=key
Done
i
j

j j+1
_
_
i i+1
_
done=
, key

,
,
_
__1
3


:

2
:
3

11

18

22

44

57

.
A) .. 16,

.
.
B)
,
,
.

A) 4 16
18 ( ). ,

.
B)
__
// , table, key //
done
position 0
i1
(done = ) (i <= )
(table[i] = key)
done
position i
_ (table[i] > key)
done

ii+1
_
_
// done, position //
__
2

0,4 (
)
( ):

1 20 0,05

20 100 0,07
20

100 0,1
100
12%
( `)
15% .
:
= ( + ) *
:
()
: 0
, 1 .
() ,

.

_
" "

" 0 1 "

<= 20
* 0.05
_ <= 100
20 * 0.05 + ( 20) * 0.07

20 * 0.05 + 80 * 0.07 + ( 100) * 0.1


_
= 0
(0.4 + ) * 12 / 100
_ = 1
(0.4 + ) * 15 / 100

15

_
" = ", ,""
" = ", , ""
" = ", ,""
_
3
:
,
25 .
,
20. ,
800, 3%
.
:
() .
() .
()
.

_
_

_ >=0
<=2
0
_ <=20
(18)*25

18*25 + (-20)*20
_
>800
*0.97
_
" ",
_
3
1 6x8
) 2 3x8, ) 2 6x4

: [6,8], [3,8], [3,8], [6,4], [6,4]


:,

1 3
1 8
[,] [,]
_
_
1 3
1 8
[,] [+3,]
_
_
1 6
1 4
[,] [,]

_
_
1 6
1 4
[,] [,+4]
_
_
_
3
8
,
.
:
)
)
(.. 3 )

: [8,7], , , SUM[7]
: i, j, _, _

! !
8x7, , !

! !
, !
, . !
, !
(_) .
i 1 8
[i,1]
_ 1
j 2 7
[i,j]<
[i,j]
_ j
_
_
_
_
! , !
, !
( ) !
. !
SUM, !
, 7.
j 1 7
SUM[j] 0
i 1 8
SUM[j] SUM[j]+A[i,j]
_
TE_
!
!,
!, SUM,
! (_)
. , ! -
!, _
!.
SUM[1]
MEA_MAX 1
i 2 7
SUM[i]>
SUM[i]
_ i
TE_AN
_
_
_
3
,
xN,
, .

16

: ()

.
[i, j], i > j.
()
.
[i, j], i
< j.
()
.

_
// , //
!

i 1 N
j 1 N ! : j 1 i 1
! <> 0,
([i, j] <> 0) (i > j)

_
_
_
!

i 1 N
j 1 N ! : j i + 1
! <> 0,
([i, j] <> 0) (i < j)

_
_
_
( = ) ( = )
" "
_ ( = )
" "
_ ( = )
" "

" "
_
_
3
15
30 .

30 ,

.
:
()
()
15 .

: [30], temp1
: i, j
: [30], temp2

i 1 30
[i], [i]
_
! !

i 2 30
j 30 i _ 1
[j-1]<[j]
temp1 [j-1]
[j-1] [j]
[j] temp1
temp2 [j-1]
[j-1] [j]
[j] temp2
_

_
_
j 1 15
[j]
_
_
3
4
15 ,
() 4*15

( , ),

)

)
.

: , j,
: [4, 15]

1 4
j 1 15
_
[,j]
_ [,j] = [,j] =
[,j] =
_
_
()
()
,
_
()

: , , j
: [4, 15]

0
1 4
j 1 15
[,j] =
+ 1
_ [,j] =
+ 2

+ 3
_
_
_
,
_
():

: , , j, [4], ,
: [4, 15]

1 4
0
j 1 15
[,j] =
+ 1
_
_
[]
_
[1]
1
2 4
[] >
[]

_

17

_
!

_
3

100
200 . :
()
( ).

.
()
:

13
4

(/)


115
100
90

80

(
) 6
75
.
()
.

3
_ 0
_ 0
S0
,
(_+<=100) (_+<=200)
_ _ +
_ _ +
+ > 6
( + ) * 75

<= 3
1 115 *

1 115 * 3 + ( - 3) * 90
_
<= 3
2 100 *

2 100 * 3 + ( - 3) * 80
_
1 + 2
_
:,
S S +
,
_
:, S
_ 100 - _
_ 200 - _
:, _
:, _
3
4



.
8 .
(1)
10 .
0 10.

:
,
.

(8)
.
.
,

, (10)
.

.

ATHENS_2004

: I, J, [8,10], MAX[8], MIN[8], SUM[8], [8],


TEMP2
: TB[8], TEMP1
: ON[8], TEMP3

I 1 8
[I]
J 1 10
_
[I,J]
_ B[I,J] >= 0 KAI [I,J] <= 10
_
_
1 8
[] [,1] !
[] [,1] !
J 2 10
[,J] > MAX[I]
MAX[I] B[I,J]
_
[I,J] < MIN[I] TOTE
MIN[I] B[I,J]
_
_
[] [] []
_
1 8
SUM[I] 0
J O 1 10
SUM[I] SUM[I] + B[I,J]
_
[] (SUM[I] MAX[I] MIN[I]) / 8
_
2 8
J 8 _ -1
[j-1] < [j]
TEMP1 [j-1]
[j-1] [j]
[j] TEMP1
TEMP2 [j-1]
[j-1] [j]
[j] TEMP2
TEMP3 ON[j-1]
ON[j-1] ON[j]
ON[j] TEMP3
_ [j-1] = [j]
[j-1] > [j]
TEMP2 [j-1]
[j-1] [j]
[j] TEMP2
TEMP3 ON[j-1]
ON[j-1] ON[j]
ON[j] TEMP3
_
_
_
_
/, [1], : , [1]
_ ATHENS_2004
4

,
[200]
200
[200,3]
.

18

12 , 6
3 .
, i

i .
:
() 2 .
() .
() 3 , 2
1 ,
.

: i, j, [200,3], , _,
[200], TEMP
: [200], TEMP1

i 1 200
[i]
j 1 3
[i,j]
_
_
[1,1]
_ 1
i 2 200
[i,1] >
[i,1]
_ i
_
_
, [_], , ,
i 1 200
[i] [i,1] * 3 + [i,2] * 2 + [i,3]
_
i 2 200
j 200 i _ -1
[j-1] < [j]
TEMP [j-1]
[j-1] [j]
[j] TEMP
TEMP1 [j-1]
[j-1] [j]
[j] TEMP1
_
_
_
i 1 3
[i], [i]
_
_
4
[50]

[50, 6] .

(, ).

,
. ,
, .


i 1 50
[i]
j 1 6
[i, j]
_
_
i 1 50
[i] [i, 1]
[i] 1
j 2 6
[i, j] > MAX[i]
[i] [i, j]
[i] j

_
_
_
i 2 50
j 50 i _ -1
[j-1] < MAX[j]
[j-1] , [j]
[j-1] , [j]
[j-1] , [j]
_ [j-1] = MAX[j]
[j-1] > [j]
[j-1] , [j]
[j-1] , [j]
_
_
_
_
i1
[i]=[1] [i]=[1] i50
: , [i]
ii+1
_
ki
[k]=[i] [k]=[i] k50
: , [k]
kk+1
_
mk
[m]=[k] [m]=[k] m50

: , [m]
mm+1
_

4
_ _
.


:
()
, ,
.
()
.


//_, _//
i 1 _
[i]
_
j 1 _
[j]
_
0
0
i 1 _
j1

j <= _ =
[j] = [i]

jj+1
_
_
=
+1
[] [i]

+1
[] [i]
_
_
i 2
j i _ -1
[j-1] > [j]
TEMP [j-1]

19

[j-1] [j]
[j] TEMP
_
_
_

4
35
.

.

30.

:
()
200
200 1000
1000

%
0
1.5
4


:
1. :
)

.
)
.
.
) .
2. ,
.
3.
600 .
, .
4.
.


i 1 35
[i], [i]
S0

> 0
S S +

_
S <= 200
bonus 0
_ S <= 1000
bonus (S 200) * 1.5/100

bonus 800 * 1.5/100 + (S 1000) * 4/100


_
bonus
[i] [i] + bonus
_
max -1
i 1 35
[i] < 600 [i] > max
max [i]
i
_
_
max = -1
" <600"

O[]
_
i 2 35
j 35 i _ 1
[j1] < [j]
[j1], [j]
[j1], [j]
_
_

_

I1
0
( = ) (i <= 35)
[i] = [1]
+ 1
ii+1


_
_

i + 1
( =) (i <= 35)
[i] = [ + 1]
[i]
ii+1


_
_

4

.
7000 ,
.
:
() .
()
.
()
.
()

( ) .
() [4],
.


i 1 7000
!
[i]
j 1 12
[i, j]
_
_
i 1 7000
!
[i] 0
j 1 12
[i] [i] + [i, j]
_
_
max [1]
!
1
i 2 7000
[i] > max
max [i]
i
_
_
[]
i 1 7000
!
_ 0
j 1 12
[i, j] <> 0
_ _ + 1
_
_
[i], "", _, ""
_
j 1 12
!
sum[j] 0
i 1 7000
sum[j] sum[j] + [i, j]
_
_

20

0
j 1 10 _ 3
+ 1
[] sum[j] + sum[j+1] + sum[j+2]
[]
_

4

1
20 40 .
:
)
[20,40]

.
-1 .
-1
25.
.
) [20]
.
) 40 ,
.
)
.
)

.

.

.


! ,
i 1 20
O[i]
j 1 40
[i, j]
_
_
!
0
j 1 40
! max
max [1, j]
i 2 20
[i, j] > max
max [i, j]
_
_
! max;
0
i 1 20
[i, j] = max
+1
_
_
= 1 ! 1 max
+ 1
_
_

!
i 1 20

j 1 40
[i, j] = -1

_
_
= !
[i]
_
_
!
_
!
done
pos 0

i1
done = i <= 20
[i] = _
done
pos i

ii+1
_
_
done =
! [40]
i 1 40
[I] i
_
! pos
i 2 40
j 40 i _ -1
[pos, j-1] < [pos, j]
[pos, j-1], [pos, j]
[j-1], [j]
_
_
_
0
j 1 6 ! 6
[pos, j] <> -1
+1
_
_
= 6
! 6
6
j 1 6
[j]
_

" 6 "
_

" "
_

4
:
() 100

.
()
( 18)
.
()
20%, 12%
6 ,
.
: 1, 2, 3, 4, 5, 6

[6].

= 2007
= 0.2
= 0.12

: , [100], [100], ,
[6], [100],
: [100]

1 100

[]

[]
[] []
_
0
1 100
[] >= 18

21

+ 1
, [],
_
_
,
* (1 )
1 _()
_

[]
_ [] >= 1 [] <= 6
_
1 6
!
[] 0
_
1
[[]] [[]] + 1
_
1 6
, , , [],
_
_
:
i 1 6
[i] 0
_
i 1
j 1 6
[i] = j
[j] [j] + 1
_
_
_

4


.

:
() 20

1981 2005 (25 )


[20]

[25]

[20,25]
()
20 ,

()
.

_4

: [20,25], temp1
E: k, i, j, POS, [25], temp2
: [20],
: DONE

!
j 1 25
[j]
_
i 1 20
[i]
j 1 25
[i, j]
_
_
' '

i1
DONE
POS 0
(i <= 20) (DONE = )
[i] =
DONE
POS i

ii+1
T_
_
DONE =
' : ',

k 2 25
j 25 k 1
[POS, j-1] < [POS, j]
Temp1 [POS, j-1]
[POS, j-1] [POS, j]
[POS, j] emp1
Temp2 [j-1]
[j-1] [j]
[j] emp2
_
_
_
j 1 25
[POS, j], [j]
_
_
_
4
Eurobasket ( )

:

[6]


[6,6]


[6,6]


(
)
:
.
, .

.

5
6
3
8
1

7
4
6
8

8
9
2

9
2



.


. .
.. 5
7 .

22


.
,
.

1 6
[],[]
_
_ 4

2
1 .

,
10 . 250
.

: ,j,[6,6],[6],[6],Help
:[6],[6,6],Help2

1 6
,
[]
_
1 6
j 1 6
(>j) TOTE
,[],,[j]
[,j]
,[],,[j]
[,j]
_
_
_
1 6
[] 0
!
[] 0
!
_
1 6
j 1 6
(>j) TOTE
[,j] =
[] [] + 2
[j] [j] + 1
[] [] + [,j]
[j] [j] - [,j]
_
[,j] =
[] [] + 1
[j] [j] + 2
[] [] - [,j]
[j] [j] + [,j]
_
_
_
_
2 30
j 30 _ 1
[j-1] < [j] TOTE
Help [j]
[j] [j-1]
[j-1] Help
Help [j]
[j] [j-1]
[j-1] Help
Help2 ON[j]
ON[j] ON[j-1]
ON[j-1] Help2
_
([j-1]=[j]) ([j-1]<[j])
Help [j]
[j] [j-1]
[j-1] Help
Help2 ON[j]
ON[j] ON[j-1]
ON[j-1] Help2
_
([j-1]=[j]) ([j-1]=[j])
& ([j-1]>[j])
Help2 ON[j]
ON[j] ON[j-1]
ON[j-1] Help2
_
_
_

,
. [10],
. , [250,2],

:

, ''
'' . ,
[250]
.
1
2
3

10

.............
.............

1
2
3
4
5
6

250

.............
.............
.............

60
45
128
36
30
60
....
....
....
32


( ).

( sec)

/ sec

1-200
201-500
500
1-250
251-600
600

0,025
0,020
0,015
0,030
0,025
0,020

:
() [10] [250,2],

'' '',
[250] .
() [10]
.
()
.
.

.
() ,

, .
, .

: , [250]
: [250], [10], TEMP1
: [10], [250,2], , TEMP2

I 1 10
[]
_
1 250
_
[]
_ [] > 0
[,1]
_
[,2]
_ [,2]='' [,2]= ''
_

23

1 250
[,2]=''
[] <= 200
[] 0.025 * []
_ [] <= 500
[] 0.025*200 + 0.020*([] 200)

[] 0.025*200 + 0.020*300 +
&
0.015*([] 500)
_

[] <= 250
[] 0.030*[]
_ [] <= 600
[] 0.030*250 + 0.025*([] 250)

[] 0.030*250 + 0.025*350 +
&
0.020*([] 600)
_
_
_
1 10
[] 0
J 1 250
[J,1] = ON[I]
[] [] + [J]
_
_
_

(, )
2 10
J 10 -1
[J-1]<[J]
TEMP1 [J-1]
[J-1] [J]
[J] TEMP1
TEMP2 [J-1]
[J-1] [J]
[J] TEMP2
_ [J-1]=[J]
[J-1]>[J]
TEMP2 [J-1]
[J-1] [J]
[J] TEMP2
_
_
_
_
1 1 10
[], []
_
_
(, )

: ,
:
: [10],

1
0

<= 10 =
[]=

+1
_
_
=
' '

[]
_
_
4


12:00
20 . :
() 20

.
()
, .


.
()

.

: pos, i, j
: [20, 31],
: [20], _
: done

i 1 20 !
[i]
_
i 1 20
j 1 31
[i, j]
_
_
i 1 20 !
_max (i, )
[i],
_
_ ! ,
done
pos 0
i1
(i <= 20) (done = )
AN ([i] = _) TOTE
done
pos i

ii+1
_
_
(done = )
_max (pos, )
[pos],

' '
_
_
_max (, ):

: j
: [20, 31], max

max [, 1] !
j 2 31
([, j] > max)
max [, j]
_
_
_max max
_
4


15
.
15

24

15
15
15
:
[5,3]
5 3
.
6 ,
88
.

43

68

31

36

59

18

64

88

28

118

79

50

110

137

:
()

()
:


.
() 2

()
[15,15]
1 15
.



.
()

.


.
:
.


.

_4

: , , , [15, 15], min, i, j


: [15]

1 15
[]
_
1 15
1 1
_
[, ]
_ [, ] > 0
_
_
i2
j1
3 15
1 1
[, ] < [i ,j]
i
j
_
_
_
[i], [j]
min _(, 1)
1
2 15
AN _(, ) < min

min _(, )
_
_
[]
_
_(, ) :

: , , [15, 15], ,

0
1 1
+ [, ]
_
+1 15
+ [, ]
_
_ / 14
_

43

68

31

36

59

18

64

88

28

118

79

50

110

137



, = 4
4

.
50x5
: 1 , 2 ,
,

30x5 : 1
, 2 , ,
.

25

:
)
) 80x5
.
)
.

,
( 2 )
.

: [50,5], [30,5], [80,5]


: ,J,K

1 50
J 1 5
[,J]
_
_
1 30
J 1 5
[,J]
_
_
! 4 5
1 50
([,4], B[I,5])
_
!
(,,)
!
2 80
J 80 _ -1
[J-1, 1] > [J, 1] TOTE
1 5
([J-1, K], [J, K])
_
_AN
_
_
1 80
J 1 5
[,J]
_
_
_
(, )

: X , Y, TEMP

TEMP X
XY
Y TEMP
_
(, , )

: [50,5], [30,5], [80,5]


: ,J

1 50
J 1 5
[,J] [,J]
_
_
1 30
J 1 5
[+50, J] [,J]
_
_
_
4
:

)
10 (
).
) 4 10
: i)
ii) 10 iii)
(1) (0) iv)
(0 ),

() -1.
)

.
)
10 : i)
0,1 ii) (
6) 0,0015 /sec iii) 0,0007 /sec iv) 8

)
.

: [10], [10], _[10000],


_[10000], ,
: , J, [10000], [10000], , ,
_, _
: [10], 1
:

1 10
[], []
_
!
1
_[], _[], [], []
_[]<> -1
+1
_[], _[], [], []
_
-1
!


0
1
<=10 =
[]=

+1
_
_
=
_ 0
_ 0
1
[]=_[]
_ _ +[]
[]=0
_ _ + 1
_
_
_
_, _
_
!
1 10
[] 8
J 1
[J] =1 TOTE
_[J]DIV10^9=6 TOTE
[] []+[J] * 0,0015

[] []+[J] * 0,0007
_AN

26

[] []+ 0,1
_
_
_
!
2 10
J 10 _ -1
[J-1]> [J] TOTE
P ON[J-1]
ON[J-1] ON[J]
ON[J] TEMP
P TH[J-1]
[J-1] [J]
[J] TEMP
P1 [J-1]
[J-1] [J]
[J] TEMP1
_AN
_
_
1 10
[], []
_
_

!!! !!!

27

You might also like