#12168. 迷阵

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: chf123456

题目描述

传说在雾岛中存在一个m行n列矩形迷阵。一开始,迷阵中存在两方阵营互相厮杀,两方阵营分别是:正义骑士(用字符‘S’表示)和怪兽(用字符‘A’表示),无论是正义骑士,还是怪兽,其标识符后面都有一个武力值x(武力值为0到9的整数)。迷阵中不全是正义骑士和怪兽,还有其他障碍物(用字符‘#’表示)不可被攻击。 第一天,正义骑士和怪兽被放置在迷阵中,第二天开始,正义骑士开始对怪物发起攻击,每个骑士都可以对其东南西北四个方向的怪兽发起攻击,如果正义骑士的武力值大于怪兽的武力值,则正义骑士胜利,对应位置的怪兽则会被同化为该正义骑士包括武力值,失败则会被怪物同化,武力值相同,双方则会停战。同化时间是1天,同化期间不可参战。每个正义骑士可以攻击东南西北四个方向的怪兽,正义骑士都很聪明,他们会优先攻击武力值低的怪兽,每天骑士只能在东西南北四个方向前进一步。战火每天都是是从迷阵左上至右下蔓延的。 经过k天后,雾岛岛主想知道迷阵中两方阵营的分布情况和正义骑士和怪兽数量谁多一些。你可以通过编程,帮助雾岛岛主准确算出答案吗? 如果正义骑士多,则输出“Victory”,如果怪兽多,则输出“Defeat”,如果一样多,则输出“Tie”。

输入格式

第一行两个整数:m和n分别表示矩形迷阵的行和列,接下来输入m行n列的数据,内容包括骑士标识和武力值,怪物标识和武力值以及障碍物‘#’。最后一行输入整数k。

输出格式

先输出一个矩阵,表示正义骑士和怪兽的分布情况,再输出一行字符串,表示结果。如果正义骑士多,则输出“Victory”,如果怪兽多,则输出“Defeat”,如果一样多,则输出“Tie”。

样例

3 3
A1 S3 A3
S2 # A1
S5 A2 S2
2

S3 S3 A3
S2 # S2
S5 S5 S2
Victory

数据范围与提示

1<m,n<100 ;
0<=x<=9 ; 2<=k<=50