Fermer John'un peyini daşınma yolları bunlardır:
-dən -yə birbaşa daşınma, məsafə olacaq;
Traktorla -dən -ə, teleportasiya ilə -dən -yə, sonra yenidən traktorla -dən -yə daşınma. Ümumilikdə traktorla qət olunan məsafə |a - x| + |b - y| olacaq;
Traktorla -dən -ə, teleportasiya ilə -dən -ə, sonra yenidən traktorla -dən -yə daşınma. Ümumilikdə traktorla qət olunan məsafə |a - y| + |b - x| olacaq;
Bu üç qiymətdən ən kiçiyi cavab olacaq.
Nümunə
Göstərilən nümunədə ən yaxşı strategiya peyini nöqtəsindən nöqtəsinə daşınması, sonra onu nöqtəsinə teleportasiya edilməsi və daha sonra nöqtəsinə daşınmasıdır. Ümumiyyətlə traktorun qət etdiyi məsafə 1 + 2 = 3 olacaq.
Algoritmin icrası
Giriş məlumatlarını oxuyuruq.
scanf("%d %d %d %d", &a, &b, &x, &y);Cavabı hesablayırıq — üç qiymətdən ən kiçiyini.
res = abs(a - b);
res = min(res, abs(a - x) + abs(b - y));
res = min(res, abs(a - y) + abs(b - x));Cavabı çıxarırıq.
printf("%d\n", res);Python icrası
Giriş məlumatlarını oxuyuruq.
a, b, x, y = map(int, input().split())Cavabı hesablayırıq — üç qiymətdən ən kiçiyini.
res = abs(a - b)
res = min(res, abs(a - x) + abs(b - y))
res = min(res, abs(a - y) + abs(b - x))Cavabı çıxarırıq.
print(res)