#GOC36858. 银币

银币

题目描述

有一个30行30列的矩阵,每个格子是‘o’或者是‘.’。其中前者表示有一枚银币,后者表示没有银币。下面的两个步骤合起来,称为一次操作: 

首先,你选择一个方向:上、下、左、右。 

然后,把所有的银币往你选择的方向移动一格。如果这个操作会使某些银币越出了矩阵的界,那么越界的银币会自动消失。 

你现在的任务是:用最少的操作次数,使得矩阵里剩下的银币数量恰好是K,输出最少的操作次数。如果不可能完成任务,输出-1. 

输入格式: 

第一行,三个整数R、C、K。1 <= R,C <= 30. 1<=K<=900. 

接下来是R行C列的矩阵。 

输出格式: 

一个整数。 

![](./2197/file/img01.png)