摘要: 题目链接:http://codeforces.com/problemset/problem/289/B题目意思:给出一个 n 行 m 列的矩阵和数值 d 。通过对矩阵里面的数进行 + d 或者 - d 的操作,是否可以使矩阵上的所有数相等。可以的话输出最少的操作步数,否则输出 -1。 由于矩阵的排列对处理没什么影响,因此不需要用到二维数组存储。接着把矩阵中所有的数从小到大进行排序,要想算出最少的步数,很容易想到应该最中间的数(中位数)靠拢。最关键的是如何判断不能通过对矩阵中的数进行处理使得所有数相等。我的做法是,在将每个数向这个中位数靠拢的过程中,它们的差(绝对值)应该能被 d 除尽,一旦有一 阅读全文
posted @ 2014-02-07 21:15 windysai 阅读(352) 评论(0) 推荐(0) 编辑