#CF3716. 整理桌面
整理桌面
题目描述
你的朋友光头强要求你帮他重新整理他的电脑桌面。电脑桌面可以表示为一个大小为 的字符矩阵,由字符 .
表示空单元格,字符 *
表示图标。
当所有图标从左往右依次占据满若干列,不够占满一列的图标位于下一列的最顶上几个位置时,桌面被称为整洁的。这就像现实生活中的电脑图标被自动排列过后一样。
在一次操作中,你可以拿起一个图标并将其移动到桌面上的任何空单元格中。
光头强喜欢在桌面上添加和删除一些图标,所以他要求你回答 个查询:在添加/删除一个图标后,使桌面成为整洁的所需的最小移动次数是多少?
请注意,每次查询都会真的改变桌面的状态,从而影响后一次查询所面对的局面。
输入格式
输入的第一行包含三个整数 , 和 ——桌面的行数,桌面的列数和查询的数量。
接下来的 行描述了桌面。它们中的第 行包含 个字符 .
和 *
——描述了桌面的第 行。
接下来的 行描述了查询。它们中的第 行包含两个整数 和 ——更改其状态的单元格的位置(如果该单元格之前包含图标,则删除该图标,否则在此单元格中添加一个图标)。
输出格式
输出 个整数,第 个整数表示在执行前 次操作后使桌面变整洁所需的最小操作次数。
测试样例
样例说明
第一组测试数据前四次操作为:
消除1行3列处的图标。 添加2行3列处的图标。 消除3行1列处的图标。 消除2行3列处的图标。
第一组测试数据的前四次操作后的效果,分别需要3443次操作才能整洁。