武汉科技大学ACM:1008: 零起点学算法64——回型矩阵
Problem Description
输出n*m的回型矩阵
Input
多组测试数据
每组输入2个整数 n和m(不大于20)
Output
输出n*m的回型矩阵,要求左上角元素是1,(每个元素占2个位置,靠右)
Sample Input
4 3
Sample Output
1 2 3
10 11 4
9 12 5
8 7 6
#include<iostream>
#include<string.h>
#include<iomanip>
using namespace std;
int main()
{
int m,n,i,j,k,lastX,lastY;
while(cin>>m>>n)
{
int **a=new int*[m];
for(i=;i<m;i++)
{
*(a+i)=new int[n];
memset(a[i],,n*sizeof(int));
}
i=,j=,k=;
int state=;//0 为从左到右赋值,1为从上到下,2为从右到左,3为从下到上
while(k<m*n)
{//要赋值m*n次
switch(state)
{
case :
for(;j<n;++j)
{
if(a[i][j]==)
{
a[i][j]=k+;
++k;
lastX=i;
lastY=j;//记录下一次赋值开始位置
}
}
i=lastX+;
j=lastY;
state=;
break;
case :
for(;i<m;++i)
{
if(a[i][j]==)
{
a[i][j]=k+;
++k;
lastX=i;
lastY=j;
}
}
i=lastX;
j=lastY-;
state=;
break;
case :
for(;j>=;--j)
{
if(a[i][j]==)
{
a[i][j]=k+;
++k;
lastX=i;
lastY=j;
}
}
i=lastX-;
j=lastY;
state=;
break;
case :
for(;i>=;--i)
{
if(a[i][j]==)
{
a[i][j]=k+;
++k;
lastX=i;
lastY=j;
}
}
i=lastX;
j=lastY+;
state=;
break;
default:
break;
} } for(i=;i<m;i++)
{
for(j=;j<n;j++)
if(j==)
{
cout<<setw()<<a[i][j];
}
else
{
cout<<setw()<<a[i][j];
}
cout<<endl;
delete []a[i];
}
delete []a; }
return ;
}
武汉科技大学ACM:1008: 零起点学算法64——回型矩阵的更多相关文章
- 武汉科技大学ACM :1008: 零起点学算法58——开灯问题
Problem Description 计算中心有8个机房,每个机房有n台电脑.每台电脑都有一个编号,比如8号机房编号就为H1到Hn,我们有时又称为H1为1号机器,H2为2号机器,.... 有一天我们 ...
- WUOJ-ACM :1003: 零起点学算法78——牛牛
武汉科技大学ACM :1003: 零起点学算法78--牛牛Problem Description牛牛是一种纸牌游戏,总共5张牌,规则如下: 如果找不到3张牌的点数之和是10的倍数,则为没牛: 如果其中 ...
- 1163: 零起点学算法70——Yes,I can!
1163: 零起点学算法70--Yes,I can! Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: ...
- 1164: 零起点学算法71——C语言合法标识符(存在问题)
1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 10 ...
- 1147: 零起点学算法54——Fibonacc
1147: 零起点学算法54--Fibonacc Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 20 ...
- 1145: 零起点学算法52——数组中删数II
1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 293 ...
- 1137: 零起点学算法44——多组测试数据输出II
1137: 零起点学算法44--多组测试数据输出II Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: ...
- 1136: 零起点学算法43——多组测试数据输出I
1136: 零起点学算法43--多组测试数据输出I Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lldSubmitted: ...
- 1135: 零起点学算法42——多组测试数据(求和)IV
1135: 零起点学算法42--多组测试数据(求和)IV Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted ...
随机推荐
- [转]Windows平台下安装Hadoop
1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...
- poj 3026Borg Maze
http://poj.org/problem?id=3026 #include<cstdio> #include<iostream> #include<cstring&g ...
- C51 库函数(2)
3.2 STDIO.H:一般I/O函数 C51编译器包含字符I/O函数,它们通过处理器的串行接口操作,为支持其它I/O机制,只需修改getkey()和putchar()函数,其它所有I/O支持函数依赖 ...
- hdu 3912 Turn Right
http://acm.hdu.edu.cn/showproblem.php?pid=3912 这个题我用递归深搜模拟,直接爆栈了.哭啊!为什么! 这个题最主要是能走重复格子,但是方向不一样. 我用的剪 ...
- 玩转12款Linux开源机器人
玩转12款Linux开源机器人 头条网2016-02-15 09:04 3DR Solo智能无人机发布于2015年中期.作为试图与大疆广受欢迎的Phantom系列无人机相抗衡的产品,它的双处理器运行L ...
- linux mount / umount 命令的基本用法
linux mount / umount 命令的基本用法 及 开机自动挂载 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a 安装在/etc/fstab文件中类出的所有 ...
- Android新浪微博客户端(三)——添加多个账户及认证
原文出自:方杰|http://fangjie.info/?p=72 转载请注明出处 一.微博OAuth2.0认证 首先来说说授权过程,我这里授权是通过SDK的,先添加SDK的jar包,微博SDK的de ...
- CSS padding margin border属性详解【转载】
本文转载自:http://www.cnblogs.com/linjiqin/p/3556497.html ,感谢相关博主. 图解CSS padding.margin.border属性 W3C组织建议把 ...
- Posix-linux_route
route命令显示或者修改本地IP路由表. 语法: [plain] route [-CFvnee] route [-v] [-A family] add [-net|-host] ...
- protocolbuffer数据交换格式说明
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.google 提供了多种语言的实现:java.c#.c++.go 和 python,每一种实 ...