• HDU 2859


    题意略。

    思路:

    因为这个对称的矩阵是按次对角线来定义对称的,那我们只需要考虑从左下到右上的这(2 * n - 1)条对角线即可。

    在考虑待检验的矩阵由k转移到k + 1这个大小时,我们只要考虑新增的一列和新增的一行是否对称即可,如果对称,则k+1这个大小的矩阵也是对称矩阵。

    在这个过程中,采用尺取法,至于检查对称,我们暴力检查即可。

    代码附上:

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn = 1005;
    
    char matrix[maxn][maxn];
    int n;
    
    int nextpos(int up,int down){
        int x0 = up / n,y0 = up % n;
        int x1 = down / n,y1 = down % n;
        int len = (down - up) / (n - 1) + 1;
        int i;
        for(i = 0;i < len && matrix[x1 - i][y1] == matrix[x1][y1 + i];++i);
        return i == len ? -1 : down - (n - 1) * (i - 1);
    }
    
    int main(){
        while(scanf("%d",&n) == 1 && n){
            for(int i = 0;i < n;++i) scanf("%s",matrix[i]);
            int total = (n - 1)<<1,maxx = n * n - 1;
            int ans = 1;
            for(int t = 1;t < total;++t){
                for(int idx = t < n ? t : (t - n + 1) * n + (n - 1),tail = idx;idx <= maxx && tail <= maxx;tail += (n - 1)){
                    int temp = nextpos(idx,tail);
                    if(temp == -1) ans = max(ans,(tail - idx) / (n - 1) + 1);
                    else idx = temp;
                    if(idx % n == 0 || tail % n == 0) break;
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    HDFS体系结构
    HDFS核心设计
    1)HDFS分布式文件系统 2)HDFS核心设计 3 )HDFS体系结构
    大数据的特征
    zookeeper原理
    Hadoop安装手册
    微信公众号开发
    一、Ajax 二、JSON数据格式 三、Ajax+Jquery 四、分页的实现
    设计模式--工厂模式
    Spring MVC 配置文件设置全局编码
  • 原文地址:https://www.cnblogs.com/tiberius/p/11300465.html
Copyright © 2020-2023  润新知