一道矩阵输出题
来源:互联网 发布:c语言输出九九乘法表 编辑:程序博客网 时间:2024/06/05 18:28
在论坛上看到有人提出这么一个问题,输入数字n,输出对应的矩阵。例如,
输入:1
输出:1
输入:2
输出:1 2
4 3
输入3:
输出:7 8 9
6 1 2
5 4 3
要求:尽可能占用较少空间,时间复杂度尽量低,且对于n较大时(如:n=1000000000)仍然正确快速输出。
我的解答如下:
#include<iostream>using namespace std;#define max(x,y) ((x)>(y)?(x):(y))#define abs(x) ((x>0)?(x):-(x))int main() { long n; cin>>n; long x,y,m; for (y=(n+1)/2-1;y>=-n/2;y--) { for (x=-(n+1)/2+1;x<=n/2;x++) { m = 2*max(abs(x),abs(y)) + 1; if (x>y && x+y>=0) { cout<<(m*m-3*m+3-(x+y))<<'\t'; } else if (y>=x && x+y>0) { cout<<(m*m-(y-x))<<'\t'; } else if (x<y && x+y<=0) { cout<<(m*m-m+1+(x+y))<<'\t'; } else if (y<=x && x+y<=0) { cout<<(m*m-2*m+2-(x-y))<<'\t'; } } cout<<endl; }}
具体算法思想,会在接下来有空的时候详细解析。
- 一道矩阵输出题
- 【ACM题】矩阵输出
- 一道一维化矩阵快速幂的题
- 一天一道编程题之对称矩阵
- 矩阵输出
- 矩阵输出
- 矩阵输出
- 矩阵输出
- 矩阵输出
- 矩阵输出
- 矩阵输出
- 矩阵输出
- 一道经典的矩阵题 ( 2010-12-5 16:39)
- 20140920百度笔试题一道之二维矩阵查找
- 一道坑题,用来更新矩阵模板,WIKI OI 1281
- 每天一道算法题——顺时针打印矩阵
- 一道递减和递增输出字符的小题
- 一道递减和递增输出字符的小题
- 算法设计与分析基础-8.4、背包问题和记忆功能
- CSS规范 - 命名规则
- perl的USE和require区别
- 第7讲:Adapter 适配器模式
- SQUID优化重要参数
- 一道矩阵输出题
- sql自定义编号(日期+数字)
- JQuery异步反序列化DataTable返回Json数据,并生成HTML
- CSS规范 - 代码格式
- YUI3学习(一)
- squid完全攻略(一)squid优化后详细安装步骤
- android-读取Assets图片资源保存到SD - 随心
- 步步惊“芯”——软核处理器内部设计分析
- bind() 失败: 应用程序没有调用 WSAStartup