Ուղարկել | Բոլոր լուծումները | Լավագույն լուծումները | Վերադառնալ ցուցակին |
GGIR - Գաղտնագիր |
Գաղտնագրման այս եղանակն առաջին անգամ նկարագրել է իտալացի մաթեմատիկոս Ջիրոլամո Կարդանոն XVI դարում։
Տեքստը գրում ենք n×n չափի վանդակավոր այղուսակում ձախից աջ և վերևից ներքև կարգով՝ յուրաքանչյուր վանդակում մեկ տառ։
R |
U |
N |
N |
A |
Z |
A |
R |
I |
S |
C |
O |
M |
I |
N |
G |
Այնուհետև պատրաստում ենք աղյուսակի չափով ստվարաթուղթ, որի որոշ տեղերում անցքեր ենք անում։ Յուրաքանչյուր անցք պետք է ճիշտ մեկ վանդակի չափով արվի։ Անցքերի քանակը պետք է հավասար լինի աղյուսակի վանդակների քանակի մեկ քառորդին։
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Տեղադրում ենք ստվարաթուղթը աղյուսակի վրա։ Երևացող տառերը ձախից աջ և վերևից ներքև կարգով դուրս ենք գրում երկրորդ աղյուսակում։ Ապա ստվարաթուղթը պտտեցնում ենք 90 աստիճանով և կրկին դուրս գրում երևացող տառերը և շարունակում դասավորել երկրորդ աղյուսակում։ Նույնը կրկնում ենք ևս երկու անգամ և երկրորդ աղյուսակում ստանում ենք գաղտնագրված տեքստը։
Պարզ է, որ ճիշտ գաղտնագրված տեքստ ստանալու համար, ստվարաթղթում արված և անցքերը պետք է այնպես արված լինեն, որ յուրաքանչյուր տառ ճիշտ մեկ անգամ բացվի։
Նույն ստվարաթուղթը հանդիսանում է գաղտնագրի բանալին։ Նրա միջոցով կարելի է վերծանել գաղտնագրված տեքստը։
Պահանջվում է գրել ծրագիր, որը տրված բանալու միջոցով վերծանում է տրված գաղտնագրված տեքստը։
.
Մուտքային տվյալներ
Առաջին տողում տրված է ստվարաթղթե բանալու n չափը: Հաջորդ n տողերը նկարագրում են ստվարաթղթե բանալին։ Դրանցից յուրաքանչյուրը պարունակում է n սիմվոլ։ Փակ վանդակները նշանակված են ‘X’ սիմվոլով, բացերը՝ ‘.’-ով։ Հաջորդ տողը պարունակում է գաղտնագրված տեքստը, որը բաղկացած է ճիշտ n2 սիմվոլներից։
Ելքային տվյալներ
Պետք է արտածել մեկ տող՝ վերծանված տեքստը։
Օրինակ
Մուտք. 4X.XX
.XXX
X.XX
XXX.
UASGNZRMRAONNICIetc. Ելք. RUNNAZARISCOMING
Ավելացրեց. | Andreasyan |
Ամսաթիվ. | 2018-03-04 |
Ժամանակի սահմանափակումը. | 0.100s |
Ծրագրի տեքստի սահմանափակումը. | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Լեզուներ. | C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3 |
Աղբյուրը. | Մարզային 2018 |