数组入门

这篇博客探讨了几种常见的数组操作问题,如比较大小、矩阵填充和蛇形方针的实现。通过双层循环和三重循环解决P1428、P1047、P5729等题目,利用排序和桶思想解决珠心算测验问题。同时,博主分享了尚未掌握的深度搜索算法的学习需求。
摘要由CSDN通过智能技术生成

P1428 小鱼比可爱
两个数组,一个数组存自己的大小,一个数组放比可爱的大小
两层循环,比较前面和自己

P1047校门外的树
先全部设为0,然后循环着设为1,然后遍历看还是0的有几个

P5729
一样思路,不过是三重循环+一个比较大小

p2141珠心算测验
先排序,然后三重循环,每一重循环的范围不一样,如果满足加等于和的话,利用桶思想赋值1,再次遍历

P5731蛇形方针
1.可以看成圈圈套在一起,这个就要有限制条件,一个是边界,还有一个是有没有已经赋过值了,用一个k从头到尾
注意四个方向上,x,y的加加减减

#include<bits/stdc++.h>
using namespace std;
int  main()
{   double n; 
    int m=ceil(n/2);
	cin>>n;
	
	int a[10][10]={0};
	int x=1,y=0,k=1;
	for(int i=0;i<n;i++)
	{/必须预测下一个,然后再赋值 
	 while((y<n)&&(a[x][y+1]==0)) 
	{
		a[x][y+1]=k;
		k++;
		y++;
	
	}
	while((x<n)&&(a[x+1][y]==0))
	{
		a[x+1][y]=k;
		k++;
		x++;
		
	}
	while((y>1)&&(a[x][y-1]==0))
	{
		a[x][y-1]=k;
		k++;
		y--; 
		
	 } 
	while((x>1)&&(a[x-1][y]==0))
	{
		a[x-1][y]=k;
		k++;
		x--;
		
	}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			printf("%3d",a[i][j]);
			
		}
		printf("\n");
	}
	return 0;


 } 

啊对还有我一直没有学会的深搜
有没有大佬给串代码让我学习一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值