Misha_

Ы)

Oct 4th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.61 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.     char tmp1, tmp2;
  6.     int xs, ys, xf, yf;
  7.     cin >> tmp1 >> ys >> tmp2 >> yf;
  8.     xs = tmp1 - 96; xf = tmp2 - 96;
  9.     if (xs + ys == xf + yf) {
  10.         // На одной главной диагонали
  11.         if (ys > yf) {
  12.             cout << ys-yf << "\n";
  13.             for (int i = 0; i < ys-yf; ++i)
  14.                 cout << "RD\n";
  15.         }
  16.         else {
  17.             cout << yf-ys << "\n";
  18.             for (int i = 0; i < ys-yf; ++i)
  19.                 cout << "LU\n";
  20.         }
  21.     }
  22.     if (xs - ys == xf - yf) {
  23.         // На одной побочной диагонали
  24.         if (xs > xf) {
  25.             cout << xs-xf << "\n";
  26.             for (int i = 0; i < xs-xf; ++i)
  27.                 cout << "LD\n";
  28.         }
  29.         else {
  30.             cout << xf-xs << "\n";
  31.             for (int i = 0; i < xs-xf; ++i)
  32.                 cout << "RU\n";
  33.         }
  34.     }
  35.     if (xs == xf) {
  36.         // На одной прямой (вертикальнойй)
  37.         if (ys > yf) {
  38.             cout << ys-yf << "\n";
  39.             for (int i = 0; i < xs-xf; ++i)
  40.                 cout << "D\n";
  41.         }
  42.         else {
  43.             cout << yf-ys << "\n";
  44.             for (int i = 0; i < ys-yf; ++i)
  45.                 cout << "U\n";
  46.         }
  47.     }
  48.     if (ys == yf) {
  49.         // На одной прямой (горизонтльной)
  50.         if (xs > xf) {
  51.             cout << xs-xf << "\n";
  52.             for (int i = 0; i < xs-xf; ++i)
  53.                 cout << "L\n";
  54.         }
  55.         else {
  56.             cout << xf-xs << "\n";
  57.             for (int i = 0; i < xs-xf; ++i)
  58.                 cout << "R\n";
  59.         }
  60.     }
  61.     if (abs(xs - xf) < abs(ys - yf)) {
  62.         // Быстрее выйти на прямую (вернитальную)
  63.         if (ys < yf) {
  64.             // Подъём
  65.             if (xs > xf) {
  66.                 // Влево
  67.                
  68.             }
  69.             else {
  70.                 // Вправо
  71.             }
  72.         }
  73.         else {
  74.             // Спуск
  75.             if (xs > xf) {
  76.                 // Влево
  77.             }
  78.             else {
  79.                 // Вправо
  80.             }
  81.         }
  82.     }
  83.     if (abs(xs - xf) > abs(ys - yf)) {
  84.         // Быстрее выйти на горизонтльную линию;
  85.     }
  86.     if (xs + xf > ys + yf) {
  87.         // Быстрее выйти на побочную диагональ
  88.     }
  89.     if (ys + yf > xs + xf) {
  90.         // Быстрее выйти на главную диагональ
  91.     }
  92.    
  93.     return 0;
  94. }
Add Comment
Please, Sign In to add comment