C. Текст засварлагч

хугацааны хязгаарлалт 1 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Вася Хомерийн Одессейгийн үед бичигдсэн сонгодог туульсын талаар өөрийн бодлоо бичихээр компьютерийн гарын товчлууруудыг дурамжхан дараад сууж байна. Тэр уран зохиолын багшдаа зохиолч болохгүй гэдгээ хэрхэн тайлбарлах вэ? Үнэндээ тэр програмчлагч болох гэж байгаа. Иймээс түүнд зохион бичлэг бичихээс илүү програм бичих нь илүү тааламжтай байдаг.

Вася төсөөллийнхөө хар далайгаас өгүүлбэр агнаж байгаад гэнэт би курсорыг нэг байрлалаас нөгөөд шилжүүлэхийн тулд хамгийн багадаа хэдэн товч дарах ёстой вэ гэж бодсон.

Түүнийг асуултыг илүү тодорхой болговол: текст бичихийн тулд Вася текст засварлагч ашиглаж байгаа. Тэр аль хэдийн $n$ мөр биччихээд байгаа ба $i$-р мөрөнд $a_{i}$ (хоосон зайг оруулаад) тэмдэгт байна. Хэрвээ тухайн мөр $k$ тэмдэгттэй бол уг мөр нийтдээ $(k + 1)$ ширхэг курсор байрлаж болох байрлалтай байна: зарим тэмдэгтийн өмнө ба бүх тэмдэгтийн хойно (мөрийн төгсгөлд). Иймээс курсорын байрлал нь $(r, c)$ хоёр бүхэл тоогоор илэрхийлэгдэх ба энд $r$ нь мөрийн дугаар ба $c$ нь мөрөн дахь курсорын байрлал байна (байрлалууд нь мөрийн эхнээс эхлээд бүхэл тоогоор дугаарлагдана).

Вася курсорыг шилжүүлэхдээ хулгана ашигладаггүй. Тэр "Дээд", "Доод", "Баруун" ба "Зүүн" товчнуудыг ашигладаг. Тэр эдгээр товчнуудыг дарах бүрт курсор шаардлагатай байрлалд шилжинэ. Харгалзах товчыг дарахаас өмнө курсор $(r, c)$ байрлалд байсан гэе тэгвэл Вася товчийг дарахад:

  • "Дээд": хэрвээ курсор эхний мөрөнд байвал шилжихгүй. Бусад тохиолдолд курсор өмнөх мөрний ($r - 1$ дугаартай) ижил байрлалруу шилжинэ. Энд хэрвээ өмнөх мөр нь богинохон буюу курсор $c$ байрлалд очих боломжгүй бол курсор $r - 1$ дугаартай мөрний хамгийн сүүлийн байрлалд очно.
  • "Доод": хэрвээ курсор сүүлийн мөрөнд ($r = n$) байвал шилжихгүй. Бусад тохиолдолд курсор дараагийн мөрний ($r + 1$ дугаартай) ижил байрлалруу шилжинэ. Энд хэрвээ дараагийн мөр нь богинохон буюу курсор $c$ байрлалд очих боломжгүй бол курсор $r + 1$ дугаартай мөрний хамгийн сүүлийн байрлалд очно.
  • "Баруун": хэрвээ курсор уг мөрний баруун зүг шилжиж болохоор байвал ($c < a_{r} + 1$) курсор баруун тийш шилжинэ ($c + 1$ байрлалруу). Бусад тохиолдолд буюу курсор мөрийн төгсгөлд байрласан байвал Вася "Баруун" товчийг дарахад курсор хаашаа ч хөдлөхгүй.
  • "Зүүн": хэрвээ курсор уг мөрний зүүн зүг шилжиж болохоор байвал ($c > 1$) курсор зүүн тийш шилжинэ ($c - 1$ байрлалруу). Бусад тохиолдолд буюу курсор мөрийн эхэнд байрласан байвал Вася "Зүүн" товчийг дарахад курсор хаашаа ч хөдлөхгүй.

Танд текст файлын мөрүүдийн тоо болон мөр бүр дахь тэмдэгтүүдийн тоо байна. Вася курсорыг $(r_{1}, c_{1})$ байрлалаас $(r_{2}, c_{2})$ байрлалд дээр тодорхойлсончлон шилжүүлэхэд дарах шаардлагатай товчнуудын хамгийн бага тоог ол.

Оролт

Оролтын эхний мөрөнд бүхэл тоо $n$ ($1 ≤ n ≤ 100$) байх буюу файл дахь мөрүүдийн тоо байна. Хоёр дахь мөрөнд зайгаар тусгаарлагдсан $n$ бүхэл тоо $a_{1}, a_{2}, ..., a_{n}$ ($0 ≤ a_{i} ≤ 10^{5}$) байна. Гурав дахь мөрөнд дөрвөн бүхэл тоо $r_{1}, c_{1}, r_{2}, c_{2}$ ($1 ≤ r_{1}, r_{2} ≤ n, 1 ≤ c_{1} ≤ a_{r_{1}} + 1, 1 ≤ c_{2} ≤ a_{r_{2}} + 1$) байна.

Гаралт

Вася курсорыг $(r_{1}, c_{1})$ байрлалаас $(r_{2}, c_{2})$ байрлалд дээр тодорхойлсончлон шилжүүлэхэд дарах шаардлагатай товчнуудын хамгийн бага тоог илэрхийлэх нэг бүхэл тоог хэвлэ.

Орчуулсан: Г.Мэндбаяр

Жишээ тэстүүд

Оролт
4
2 1 6 4
3 4 4 2
Гаралт
3
Оролт
4
10 5 6 4
1 11 4 2
Гаралт
6
Оролт
3
10 1 10
1 10 1 1
Гаралт
3

Тэмдэглэл

Эхний жишээн дээр засварлагч дээр дөрвөн мөр байна. Мөрөн дахь курсорын боломжтой байрлалуудыг дугаарлая. $s$ үсгээр курсорын анхны байрлалыг $t$ үсгээр төгсгөлийн байрлалыг тэмдэглэе. Текст засварлагч дээрх курсорын бүх байрлалыг дараах байдлаар тодорхойлж болно.

$123$

$12$

$123s567$

$1t345$

Өгөгдсөн жишээний хувьд боломжит нэг хариулт нь: "Зүүн", "Доод", "Зүүн" байна.

Сэтгэгдлүүдийг ачааллаж байна...