当前位置:主页 > 查看内容

Z字形扫描

发布时间:2021-06-13 00:00| 位朋友查看

简介:Z字形扫描 from CCF-CSP 2014-12-2 Time limit2s Memory limit256MB 模拟一下扫描标记的移动注意扫描超过了副对角线过后扫描转移会改变就可以了 ac代码 # include bits/stdc.h using namespace std ; int m , n , x [ 505 ] [ 505 ] , i , j , k , row , col……

Z字形扫描


from CCF-CSP 2014-12-2
Time limit:2s
Memory limit:256MB

在这里插入图片描述


模拟一下扫描标记的移动,注意扫描超过了副对角线过后扫描转移会改变就可以了

ac代码:
#include<bits/stdc++.h>
using namespace std;
int m,n,x[505][505],i,j,k,row,col;
void solve1(){              //向左下
    while(col >= 1 && row <= n)
        cout<<" "<<x[row][col],++row,--col;
    --row,++col;
    if(row < n)             //为下次右上做准备,如果还未到对角,那么向下扫描,否则向右扫描
        ++row;
    else
        ++col;
}
void solve2(){              //处理方式同上
    while(row >= 1 && col <= n)
        cout<<" "<<x[row][col],++col,--row;
    --col,++row;
    if(col < n)
        ++col;
    else
        ++row;
}
int main(){
    cin>>n;
    for(i = 1;i <= n;++i)
        for(j = 1;j <= n;++j)
            cin>>x[i][j];
    cout<<x[1][1],m = n * 2 - 2,row = 1,col = 2; //初始化
    for(k = 1;k <= m;++k)
        if(k & 1)
            solve1();
        else
            solve2();
    return 0;
}
;原文链接:https://blog.csdn.net/qq_45985728/article/details/115588287
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:A*算法 下一篇:没有了

推荐图文


随机推荐