Решение задачи Красивая матрица с Codeforces

Без пояснения   Просмотров: 321


Перед Вами матрица размера 5 × 5, состоящая из 24-x нулей и единственной единицы. Строки матрицы пронумеруем числами от 1 до 5 сверху вниз, столбцы матрицы пронумеруем числами от 1 до 5 слева направо. За один ход разрешается применить к матрице одно из двух следующих преобразований:

Поменять местами две соседние строки матрицы, то есть строки с номерами i и i + 1 для некоторого целого i (1 ≤ i < 5).
Поменять местами два соседних столбца матрицы, то есть столбцы с номерами j и j + 1 для некоторого целого j (1 ≤ j < 5).
Вы считаете, что матрица будет выглядеть красиво, если единственная единица этой матрицы будет находиться в ее центре (в клетке, которая находится на пересечении третьей строки и третьего столбца). Посчитайте, какое минимальное количество ходов потребуется, чтобы сделать матрицу красивой.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int temp, ii, jj;
    vector<int> t;
    vector<vector<int> > a;
    for(int i = 0; i < 5; ++i){
        t.clear();
        for(int j = 0; j < 5; ++j){
            cin >> temp;
            if(temp){
                ii = i;
                jj = j;
            }
            t.push_back(temp);
        }
        a.push_back(t);
    }
    cout << abs(ii - 2) + abs(jj - 2);
    return 0;
}

         

Администратор Photo Автор: Администратор




Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться