Երկչափ ցուցակներ

Python-ի ցուցակները կարող են պարունակել տարբեր տեսակի տարրեր: Դրանք կարող են ունենալ ամբողջ թվեր, տողեր, ռացիոնալ թվեր և այլն: Դրանք կարող են նաև պարունակել այլ ցուցակներ.
l = [4, 5, 'hi', 3.14, ['how', 'are', 'you', '?'], 64]
print(l[2])       # hi
print(l[2][0])    # h
print(l[-1])      # 64
print(l[4])       # ['how', 'are', 'you', '?']
inner = l[4]
print(inner[1])   # are
print(l[4][1])    # are
Սա Python-ի ցուցակի օրինակ է, որն իր մեջ պարունակում է մեկ այլ ցուցակ: Ներդրված ցուցակի հետ գործողությունները ճիշտ նույնն են, ինչ արտաքին ցուցակի հետ կատարվող գործողությունները: Կարելի է append-ով ավելացնել տարրեր կամ pop-ով հեռացնել դրանք և այլն: Հետևաբար, ինդեքսավորումը կաշխատի այնպես, ասես մենք մուտք ենք գործում ներդրված ցուցակի մեջ ցուցակի ներսից:
Այնպես ինչպես մենք կօգտագործեինք տողերի ցուցակը, ամեն տողին հասանելիություն ստանալով [index]-ի միջոցով.
greetings = [
    'hi',
    'hello',
    'hey there',
    'hey!'
]


print(greetings[0])
# hi
print(greetings[2])
# hey there
Մենք նույն կերպ կարող ենք ունենալ թվերի մատրից.
multiplication_table = [
	[1, 2,  3,  4,  5,  6,  7,  8,  9],
	[2, 4,  6,  8,  10, 12, 14, 16, 18],
	[3, 6,  9,  12, 15, 18, 21, 24, 27],
	[4, 8,  12, 16, 20, 24, 28, 32, 36],
	[5, 10, 15, 20, 25, 30, 35, 40, 45],
	[6, 12, 18, 24, 30, 36, 42, 48, 54],
	[7, 14, 21, 28, 35, 42, 49, 56, 63],
	[8, 16, 24, 32, 40, 48, 56, 64, 72],
	[9, 18, 27, 36, 45, 54, 63, 72, 81]
]

print(multiplication_table[0])
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(multiplication_table[2])
# [3, 6, 9, 12, 15, 18, 21, 24, 27]
Այսպես մենք կարող ենք ստանալ ամեն տողը առանձին-առանձին։ Դրանից հետո մենք կարող ենք ամեն տողում պարունակվող տարրերը ստանալ լրիվ նույն կերպ ինչպես կստանայինք ցուցակի մեջ գտնվող տարրերը.
print(multiplication_table[2])     # [3, 6, 9, 12, 15, 18, 21, 24, 27]

l = multiplication_table[2]        # l-ը հիմա [3, 6, 9, 12, 15, 18, 21, 24, 27] է
print(l[0])                        # 3
print(l[1])                        # 6
print(l[-1])                       # 27

# Կամ միանգամից ստանալ տարրերը
print(multiplication_table[2][0])  # 3
print(multiplication_table[2][1])  # 6
print(multiplication_table[2][-1]) # 27
Առաջին թիվը ցույց է տալիս ընտրված «տողը» երկչափ ցուցակից, իսկ երկրորդը ցույց է տալիս ընտրված «սյունը»։ Այսպիսով՝ երկչափ ցուցակից մեկ տարր ընտրելու համար կարող ենք օգտագործել two_d[տող][սյուն] գրելաձևը։

Առաջադրանք

Ստանալով n բնական թիվը, ստեղծեք չափի երկչափ ցուցակ։ Ձեզ խնդրում են քառակուսին բաժանել 3 մասի: Մեկը` քառակուսու անկյունագծից վերև, մյուսը՝ անկյունագծի վրա, իսկ երրորդը՝ անկյունագծից ներքև։
Վերևի դաշտերը պետք է ներկված լինեն 0-ով, անկյունագծի դաշտերը՝ 1-ով, իսկ ներքևինները՝ 2-ով:
Ծրագրի մուտքը պարունակում է մեկ ամբողջ թիվ n՝ քառակուսու չափը:
Ծրագրի ելքը պետք է պարունակի ներկված քառակուսին:
Մուտք
Ելք
4
1 0 0 0 2 1 0 0 2 2 1 0 2 2 2 1
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue