螺旋矩阵PATB1050

#include<stdio.h>
void SetArray(int arr[10][10], int m, int n)
{	
	int i=1,j=1,U=1,D=m,L=1,R=n,now=0,num=10;  //1-m,1-n
	//向右填充
	int N=m*n;
	while(now < N)
	{
	
		while(now<N && j<R)
		{
			arr[i][j++]=num++;
			now++;
		} 
		//向下填充
		while(now<N && i<D)
		{
		   arr[i++][j]=num++;
		   now++;	
			
		} 
		//向左填充
		while(now<N && j>L)
		{
			arr[i][j--]=num++;
			now++;	
		 } 
		//向上填充
		while(now<N && i>U)
		{
			arr[i--][j]=num++;
			now++;
		 } 
		 i++,j++;
		 U++,D--,R--,L++;
		 
		 if(now == N-1) 
		 {
		 	arr[i][j]=num++;
		 	now++;
		 }
   }
}
int main(){
	int arr[10][10];
	SetArray(arr,8,7);
	for(int i=1;i<=8;i++){
		for(int j=1;j<=7;j++){
			printf(j==1?"%d":" %d",arr[i][j]);
		}
		printf("\n");
	}
	
	return 0;
} 

PATB1050

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;

const int maxn=10005;
int arr[maxn];
int matrix[maxn][1000]={0};
int N;
bool cmp(int a, int b){
	return a>b;
}
int main(){
	scanf("%d",&N);
	for(int i=0;i<N;i++){
		scanf("%d",&arr[i]);
	}
	
	if(N==1)
	{
		printf("%d",arr[0]);
		return 0;
	}
	
	sort(arr,arr+N,cmp);
	int m=(int)ceil(sqrt(1.0*N));
	
	while(N%m!=0){
		m++;
	}
	int n=N/m;
	int i=1,j=1,U=1,D=m,L=1,R=n,now=0;  //1-m,1-n
	
	while(now < N)
	{
		//向右填充
		while(now<N && j<R)
		{
			matrix[i][j]=arr[now++];
			j++;
		} 
		//向下填充
		while(now<N && i<D)
		{
		   matrix[i][j]=arr[now++];
		   i++;
			
		} 
		//向左填充
		while(now<N && j>L)
		{
			matrix[i][j]=arr[now++];
			j--;
		 } 
		//向上填充
		while(now<N && i>U)
		{
			matrix[i][j]=arr[now++];
			i--;
		 } 
		 i++,j++;
		 U++,D--,R--,L++;
		 
		 if(now == N-1) 
		 {
		 	matrix[i][j]=arr[now++];
		 }
   }
   	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			printf(j==1?"%d":" %d",matrix[i][j]);
		}
		printf("\n");
	}
	return 0;
}
全部评论

相关推荐

03-02 08:18
集美大学 Java
钱嘛数字而已:没有赛事奖项么?另外,项目经历字有点多哈,建议突出一下重点:用的什么技术,解决什么问题,达到什么效果。
大家都开始春招面试了吗
点赞 评论 收藏
分享
04-02 10:09
门头沟学院 Java
用微笑面对困难:这里面问题还是很多的,我也不清楚为啥大家会感觉没啥问题。首先就是全栈开发实习9个月的内容都没有java实习生的内容多,1整个技术栈没看出太核心和难点的内容,感觉好像被拉过去打杂了,而且全栈基本上很容易被毙。里面能问的bug是在太多了比如L:继承 BaseMapper 可直接使用内置方法’。请问你的 BaseMapper 是如何扫描实体类注解如果瞬时产生 100 个上传任务,MySQL 的索引设计是否会有瓶颈?你做过分库分表或者索引优化吗?全栈的内容可以针对动态难点去搞,技能特长写在下面吧,你写了这么多技能,项目和实习体现了多少?你可以在项目里多做文章然后把这个放下去,从大致来看实习不算太水,有含金量你也要写上内容针对哨兵里面的节点变化能问出一万个问题,这个很容易就爆了。
提前批简历挂麻了怎么办
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务