Օգնեք գորտին գտնել ճանապարհը դեպի ազատություն։
Գորտը գտնվում է զանգվածի առաջին էլեմենտի դիրքում։ Զանգվածի յուրաքանչյուր էլեմենտ ցույց է տալիս գորտի ցատկի երկարությունը և ուղղությունը։
Եթե թիվը բացասական է, ապա գորտը ցատկում է դեպի ձախ, եթե դրական է՝ դեպի աջ։
0-ի
դեպքում գորտը մնում է նույն դիրքում։ Ծրագիրը պետք էկրանին տպի ցատկերի քանակը, որն անհրաժեշտ է, որպեսզի գորտը դուրս գա զանգվածի սահմաններից (աջից կամ ձախից)։ Եթե գորտը չի կարողանում դուրս գալ զանգվածից, ապա էկրանին անհրաժեշտ է տպել
-1
։Խնդիրը ավելի լավ հասկանալու համար, դիտարկենք մի քանի օրինակ:
🐸
[1, 2, 2, -1]
- Գորտը գտնվում է զանգվածի զրոյական դիրքում, որտեղ գրված է 1
։ Սա նշանակում է, որ գորտը կարող է ցակտել մեկ քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի առաջին դիրքում։ 🐸
[1, 2, 2, -1]
- Այս դիրքում գրված է 2
, սա նշանակում է, որը գորտը կարող է ցատկել երկու քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի երրորդ դիրքում։ 🐸
[1, 2, 2, -1]
- Այս դիրքում գրված է -1
, սա նշանակում է, որ գորտը կարող է ցատկել մեկ քայլ դեպի ձախ, որից հետո կհայտնվի զանգվածի երկրորդ դիրքում։ 🐸
[1, 2, 2, -1]
- Այս դիրքում գրված է 2
, սա նշանակում է, որ գորտը կարող է ցատկել երկու քայլ դեպի աջ, որից հետո կհայտնվի զանգվածից դուրս։ 🐸
[1, 2, 2, -1]
- Այս օրինակում, զանգվածից դուրս գալու համար, գորտը կատարեց 4 ցատկ, և հետևաբար ծրագիրը էկրանին պետք է տպի 4։Դիտարկենք ևս մեկ օրինակ՝
🐸
[1, 2, 3, 0]
- Գորտը գտնվում է զանգվածի զրոյական դիրքում, որտեղ գրված է 1
։ Սա նշանակում է, որ գորտը կարող է ցակտել մեկ քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի առաջին դիրքում։ 🐸
[1, 2, 3, 0]
- Այս դիրքում գրված է 2
, սա նշանակում է, որ գորտը կարող է ցատկել երկու քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի երրորդ դիրքում։ 🐸
[1, 2, 3, 0]
- Այս դիրքում գրված է 0
և գորտը այլևս չի կարողանա ցատկ կատարել և հետևաբար չի կարողանա դուրս գալ զանգվածի սահմաններից։ Ծրագիրը պետք է տպի էկրանին -1։
#include <iostream> #include <vector> int main() { std::vector<int> arr; int size; std::cout << "Insert vector size "; std::cin >> size; std::cout << size << std::endl; std::cout << "Insert vector elements: "; for (int i = 0; i < size; ++i) { int in; std::cin >> in; std::cout << in << " "; arr.push_back(in); } std::cout << std::endl; // Put your code here }