首页 > 其他分享 >NYOJ 33 蛇形填数——————思维

NYOJ 33 蛇形填数——————思维

时间:2022-10-18 16:32:15浏览次数:49  
标签:int 填过 33 填未 NYOJ ++ while 填数 &&


蛇形填数

时间限制:3000 ms | 内存限制:65535 KB
难度:3

描述

在nn方陈里填入1,2,…,nn,要求填成蛇形。例如n=4时方陈为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4

输入

直接输入方陈的维数,即n的值。(n<=100)

输出

输出结果是蛇形方陈。

样例输入

3

样例输出

7 8 1
6 9 2
5 4 3


从红色起点开始填,一个模拟过程

NYOJ 33 蛇形填数——————思维_最小值

#include<bits/stdc++.h>
using namespace std;
int a[105][105];
int main()
{
int n,x,y,z;
while(~scanf("%d",&n))
{
memset(a,0,sizeof(a));
z = a[x=0][y=n-1] = 1;//从右上角开始填
while(z<n*n)
{
while(x+1 < n && !a[x+1][y]) a[++x][y] = ++z;
//填未填过的最后一列,y不变,x每次加一,但要保证x最大为n-1

while(y-1 >=0 && !a[x][y-1]) a[x][--y] = ++z;
//填未填过的最后一行,x不变,y每次减一,但要保证y最小值 0

while(x-1 >=0 && !a[x-1][y]) a[--x][y] = ++z;
//填未填过的第一列,y不变,x每次减一,但要保证x最小值是 0

while(y+1 < n && !a[x][y+1]) a[x][++y] = ++z;
//填未填过的第一行,x不变,y每次加一,但要保证y最大值是n-1
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(j) printf(" ");
printf("%d",a[i][j]);
}
puts("");
}
}
return 0;
}

看的是很久之前买的书,刘汝佳紫书上的代码


标签:int,填过,33,填未,NYOJ,++,while,填数,&&
From: https://blog.51cto.com/u_15834888/5767188

相关文章

  • Installed Build Tools revision 33.0.0 is corrupted. Remove and install again usi
    在Androidstudio遇到的问题这句话的意思是生成工具版本33.0.0安装已损坏。删除并重新安装使用SDK管理器。网上解决该报错得方式有两种一种是系统报错提示的方式,重新......
  • LeetCode 33 Search in Rotated Sorted Array
    ​​题目​​c++二分classSolution{public:intsearch(vector<int>&nums,inttarget){if(nums.size()==0)return-1;intsta......
  • Problem P33. [算法课分支限界法]分割等和子集
    动态规划,dp,即计算多加第i个数,可以达到的数值可以到多少。详细可见:https://leetcode.cn/problems/partition-equal-subset-sum/solution/fen-ge-deng-he-zi-ji-by-leetcod......
  • Demo33_关于递归
    //递归讲解阶乘的方法5!5*4*3*2*1packagecom.HuanXin.Fan_Fa_5;publicclassDemo06{publicstaticvoidmain(String[]args){//递归思想inta......
  • Codeforces Round #733 D
    D.SecretSanta答案就是每一个数字是否出现很容易想到的就是我们只能满足一个人的要求(如果这一组人都选择同一个人所以我们直接就这样乱搞就可以了然后剩下的随便连一......
  • 1033 旧键盘打字(JAVA)
    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏......
  • CF1335F Robots on a Grid
    CF1335F:因为每个格子都只向外连一条边,所以网格可感性理解为一个基环树森林。则每个机器人最终都会走到一个环上,那么所占据黑格便也在环上。那么若要使机器人数量最多,且......
  • 3133. 串珠子
    题目链接3133.串珠子给定\(M\)种不同颜色的珠子,每种颜色的珠子的个数都足够多。现在要从中挑选\(N\)个珠子,串成一个环形手链。请问一共可以制作出多少种不同的手......
  • luogu P5339 [TJOI2019]唱、跳、rap和篮球 (容斥,指数型母函数,NTT)
    https://www.luogu.com.cn/problem/P5339要求不含1234的方案,反过来求含至少一个1234的方案。钦定存在i个位置有1234,位置的方案是Cn-3i,i.其他n-4i个位置的方案是多重集......
  • |软件技术基础|<>||-----------|-----------||介绍我自己|<详细的介绍我自己的兴趣爱
    软件技术基础https://edu.cnblogs.com/campus/zjlg/22rjjc这个作业的目标<了解博客园,详细的介绍我自己>姓名-学号<王芳>-<2020330301057>一、自我介......