Бодолт илгээх | Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
RGB7292 - Аялал |
Цагаан баавгайнууд загасчилж байна. Тэд тэгш өнцөгт хавтгайн (sx,sy) координатаас (ex,ey) координат руу аялах гэж байгаа. Тэдний завь зөвхөн салхины хүчээр явдаг. Секунд бүрд салхи урд, хойд, баруун, зүүн зүг рүү салхилдаг. Завь нь (x,y) координат дээр байгаа гэж үзвэл
- Хэрвээ салхи зүүн зүгт салхилвал завь (x+1,y)-рүү шилжинэ
- Хэрвээ салхи урд зүгт салхилвал завь (x,y−1)-рүү шилжинэ
- Хэрвээ салхи баруун зүгт салхилвал завь (x−1,y)-рүү шилжинэ
- Хэрвээ салхи хойд зүгт салхилвал завь (x, y+1)-рүү шилжинэ
Мөн тэд завиа зангуугаар зогсоож болдог. Энэ тохиолдолд завь (x,y) координат дээрээ үлдэнэ. Зангуугаа хэдэн ч удаа ашиглаж болно. Өгөгдсөн салхи t секунд үргэлжлэх үеийн чиглэл өгөгдсөн бол (ex,ey)-т очиход зарцуулах хамгийн бага хугацааг ол.
Input
Эхний мөр t, sx, sy, ex, ey (1≤t≤105, −109≤sx,sy,ex,ey≤109) тоонууд өгөгдөнө. Эхлэх координатын байрлал нь төгсөх координатын байрлалаас ялгаатай байна.
Хоёрдох мөр нь t тэмдэгт агуулна. i дах тэмдэгт нь салхины i дахь секунд дахь чиглэлийг заана. Энэ нь дараах 4 боломжтой : E (зүүн) S (урд) W (баруун) N (хойд).
Output
Хэрвээ тэд (ex,ey)-д t секундэд багтаж очсон байж чадах бол очиход зарцуулах хамгийн бага цагийг чадахгүй бол "-1"-г хэвлэ.
Example
Input 1:
5 0 0 1 1
SESNW
Output 1:
4
Input 2:
NENSWESNEE
Output 2:
-1
Нэмсэн: | Bataa |
Огноо: | 2014-01-27 |
Хугацааны хязгаарлалт: | 1s |
Эх кодын хэмжээний хязгаарлалт: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Програмчлалын хэлүүд: | ADA95 ASM32 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE |
Эх сурвалж: | Дүүргийн олимпиад 2014 |
hide comments
2024-12-12 04:08:05
#include <bits/stdc++.h> using namespace std; int main() { int t, x, y, x1, y1; char c[100001]; scanf("%d%d%d%d%d", &t, &x, &y, &x1, &y1); scanf("%s", c); int x2 = x, y2 = y; for (int i = 0; i < t; i++) { if (x2 == x1 && y2 == y1) { printf("%d\n", i); return 0; } switch (c[i]) { case 'E': if (x2 < x1) x2++; break; case 'W': if (x2 > x1) x2--; break; case 'N': if (y2 < y1) y2++; break; case 'S': if (y2 > y1) y2--; break; } } if (x2 == x1 && y2 == y1) { printf("%d\n", t); } else { printf("-1\n"); } return 0; } pisdaaa ygd ene kod buruuu bgn |
|
2022-03-23 10:22:06
:( |
|
2020-02-05 09:14:53 Bataa
13 |
|
2020-02-05 09:14:40 Bataa
19 -172106364 -468680119 -172106365 -468680119 SSEEESSSESESWSEESSS |
|
2014-10-16 08:19:28 тулга
Хугацаа салхины чиглэлээс их байж болох уу?(t=5 чиглэл нь SESN г.м) |