编程介的小学生 2017-08-22 09:35 采纳率: 20.3%
浏览 720
已采纳

Crazy Painter

Crazy painter Henry Daub is planning to draw his new masterpiece. Like all paintings of Henry, the new masterpiece is going to be a rectangle of size m��n inches, each unit square of which will be painted with some color.

Henry would like to minimize the time needed to paint his masterpiece. He has already created the painting sketch and now he is planning the process of drawing. There are three technical tricks that Henry uses in creating his paintings.

In a turn he can paint either a horizontal line, a vertical line or a single unit square. Painting a horizontal line colors a number of horizontally adjacent unit squares to some color, painting a vertical lines colors a number of vertically adjacent squares, and painting a square just colors this square. Painting a horizontal line takes Henry h seconds, a vertical line can be painted in v seconds, and a single square is painted in s seconds.

Since the resulting picture must be accurate, it is not allowed to change the color of the square, that is, a single square may be painted several times, but it must be painted the same color each time. Help Henry to determine the time needed to paint the picture. Initially the canvas is empty, so each square must be colored.

Input

Input contains multiple test cases. The first line of the input is a single integer T (1 <= T <= 40) which is the number of test cases. T test cases follow, each preceded by a single blank line.

The first line of each case contains m, n, h, v and s (1 <= m, n <= 30, 1 <= h, v, s <= 105). Next m lines contain n characters each and describe the future masterpiece. The colors of the squares are identified using small letters of English alphabet.

Output

For each test case, on the first line print t - the time needed to paint the masterpiece and k - the number of turns needed to do this. Next k lines must contain the description of the turns. Each turn is first described with one of the letters 'h', 'v' or 's'. In the first two cases four integers numbers must follow - the coordinates of the leftmost topmost and the rightmost bottommost square of the line painted; in the last case just two integers are needed - the coordinates of the square painted. The last character of each line must be the color used in the turn.

Sample Input

2

4 4 3 5 2
aabc
aabc
bbbb
ccbc

3 4 11 8 3
aaaa
aaaa
aaaa

Sample Output

23 8
h 1 1 1 2 a
h 2 1 2 2 a
h 3 1 3 4 b
v 1 3 4 3 b
h 4 1 4 2 c
s 1 4 c
s 2 4 c
s 4 4 c

32 4
v 1 1 3 1 a
v 1 2 3 2 a
v 1 3 3 3 a
v 1 4 3 4 a

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-09-03 14:30
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊