摘要: 题意:给定一个长度为n的01序列,作为矩阵的第一行,每次把本行的最后一位挪到第一位,其余各位向后移一位,构成新的序列,作为下一行,最终形成n*n的矩阵。把矩阵各行交换位置,使得从上到下各序列按字典序从小到大排列,又得到了n*n的矩阵。给出矩阵的最后一列,求矩阵的第一行。分析:我们发现这个矩阵有个特点。将矩阵的每行看作一个01序列,得到一个序列集合A。然后将矩阵的最后一列移到第一列,其余列后移,然后将没行看作一个01序列,得到一个序列集合B。A与B一定是同一个集合。根据这个性质我们可以进一步得知,把后来经过列移动的矩阵按行字典序排序后可得到排序后的原矩阵。在这个排序变换过程中如果我们只关注矩阵的 阅读全文
posted @ 2011-08-24 12:20 undefined2024 阅读(644) 评论(0) 推荐(0)
摘要: 解一元二次方程简单题打表View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>using namespace std;//int last(long long x)//{// long long l = x * (x - 1);//// y * (2 * x + 1 + y) == l;//// y * y + (2 * x + 1) * y - l == 0;// long long b = 阅读全文
posted @ 2011-08-24 09:51 undefined2024 阅读(317) 评论(0) 推荐(0)