热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1044:数字循环结构分析与应用

本研究探讨了数字循环结构的分析与应用,通过以1为中心,使用2至n以及n*n的数字构建循环模式。该结构在时间和空间效率上具有显著优势,适用于多种算法和数据处理场景。实验结果显示,该方法在多项测试中表现出色,具有较高的实用价值。

1044: 数圈

时间限制: 1 Sec  内存限制: 128 MB
提交: 231  解决: 97
[提交][状态][讨论版]

题目描述

以1为中心,用2,3,4, ..., n, ..., n*n的数字围绕着中心输出数圈, 如若n=4,则

7 8 9 10

6 1 2 11

5 4 3 12

16 15 14 13

输入

一个整数n(1<&#61;n<&#61;10)

输出

数圈矩阵

样例输入

5

样例输出

21 22 23 24 25
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13

提示

来源

#include
using namespace std;
int main(){
 int i,j,n;
 int a[10][10]&#61;{{73,74,75,76,77,78,79,80,81,82},
 {72,43,44,45,46,47,48,49,50,83},
 {71,42,21,22,23,24,25,26,51,84},
 {70,41,20,7,8,9,10,27,52,85},
 {69,40,19,6,1,2,11,28,53,86},
 {68,39,18,5,4,3,12,29,54,87},
 {67,38,17,16,15,14,13,30,55,88},
 {66,37,36,35,34,33,32,31,56,89},
 {65,64,63,62,61,60,59,58,57,90},
 {100,99,98,97,96,95,94,93,92,91}};
 while(cin>>n){
   if(n&#61;&#61;1) cout<<1<   else if(n&#61;&#61;2){
    cout<<1<<" "<<2<    cout<<4<<" "<<3<   }
      else if(n%2!&#61;0){
       for(i&#61;4-n/2;i<&#61;4&#43;n/2;i&#43;&#43;){
         for(j&#61;4-n/2;j<&#61;4&#43;n/2;j&#43;&#43;){
          if(j&#61;&#61;4&#43;n/2) cout<          else
          cout<         }
         cout<       }
      }else{
       for(i&#61;4-(n/2-1);i<&#61;4&#43;n/2;i&#43;&#43;){
         for(j&#61;4-(n/2-1);j<&#61;4&#43;n/2;j&#43;&#43;){
          if(j&#61;&#61;4&#43;n/2) cout<          else
          cout<         }
         cout<       }
      }
 }
 return 0;
}

 

 

以上代码有点蛮干&#xff0c;下面才是正确的代码思路&#xff1a;

#include
using namespace std;
int d,x,y,a[1000][1000];
void move(){
switch(d){
case 0:
y&#43;&#43;;return;
case 1:
x&#43;&#43;;return;
case 2:
y--;return;
case 3:
x--;return;
}
}
int main(){
int n,c&#61;1;
cin>>n;
y&#61;x&#61;(n-1)/2;
a[x][y]&#61;c;
c&#43;&#43;;
d&#61;0;
move();
a[x][y]&#61;c;
c&#43;&#43;;
d&#61;(d&#43;1)%4;
for(int i&#61;1;i for(int j&#61;0;j move();  //某个方向走i步&#xff0c;如向下
a[x][y]&#61;c;
c&#43;&#43;;
}
d&#61;(d&#43;1)%4;
for(int j&#61;0;j move(); //再向左走i步
a[x][y]&#61;c;
c&#43;&#43;;
}
move(); //再向左走一步&#xff0c;此时d这个方向值不变
a[x][y]&#61;c;
c&#43;&#43;;
d&#61;(d&#43;1)%4;//走完之后方向发生改变
}
for(int i&#61;0;i for(int j&#61;0;j if(j&#61;&#61;0)cout< else cout<<" "< }
cout< }
}

 

转:https://www.cnblogs.com/lchzls/p/5781777.html



推荐阅读
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文探讨了如何在模运算下高效计算组合数C(n, m),并详细介绍了乘法逆元的应用。通过扩展欧几里得算法求解乘法逆元,从而实现除法取余的计算。 ... [详细]
  • 本题涉及一棵由N个节点组成的树(共有N-1条边),初始时所有节点均为白色。题目要求处理两种操作:一是改变某个节点的颜色(从白变黑或从黑变白);二是查询从根节点到指定节点路径上的第一个黑色节点,若无则输出-1。 ... [详细]
  • 本题探讨了一种字符串变换方法,旨在判断两个给定的字符串是否可以通过特定的字母替换和位置交换操作相互转换。核心在于找到这些变换中的不变量,从而确定转换的可能性。 ... [详细]
  • 火星商店问题:线段树分治与持久化Trie树的应用
    本题涉及编号为1至n的火星商店,每个商店有一个永久商品价值v。操作包括每天在指定商店增加一个新商品,以及查询某段时间内某些商店中所有商品(含永久商品)与给定密码值的最大异或结果。通过线段树分治和持久化Trie树来高效解决此问题。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • This document outlines the recommended naming conventions for HTML attributes in Fast Components, focusing on readability and consistency with existing standards. ... [详细]
  • Splay Tree 区间操作优化
    本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ... [详细]
  • 题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!-----&# ... [详细]
  • 本文探讨了 C++ 中普通数组和标准库类型 vector 的初始化方法。普通数组具有固定长度,而 vector 是一种可扩展的容器,允许动态调整大小。文章详细介绍了不同初始化方式及其应用场景,并提供了代码示例以加深理解。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • C++: 实现基于类的四面体体积计算
    本文介绍如何使用C++编程语言,通过定义类和方法来计算由四个三维坐标点构成的四面体体积。文中详细解释了四面体体积的数学公式,并提供了两种不同的实现方式。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
author-avatar
手机用户2502904377
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有