第十一届蓝桥杯大赛第二场省赛试题 C&C++ 研究生组-蛇形填数

761

solution1

cpp 复制代码
#include<stdio.h>
int main(){
	int a[50][50] = {0}, i = 1, j = 1, count = 1, op = 0;
	while(i < 40 && j < 40){
		a[i][j] = count++;
		if(!op) a[i][++j] = count++;
		while(j >= 2){
			a[++i][--j] = count++;
		}
		a[++i][j] = count++;
		while(i >= 2){
			a[--i][++j] = count++;
		}
		j++;
		op = 1;
	}
//	for(int i = 1; i < 21; i++){
//		for(int j = 1; j < 21; j++){
//			printf("%d ", a[i][j]);
//		}
//		printf("\n");
//	}
	printf("%d", a[20][20]);
	return 0;
}

solution2

cpp 复制代码
#include<stdio.h>
int main(){
	int a[50][50] = {0}, i = 1, j = 1, count = 1, op = 0;
	a[1][1] = count++;
	while(i < 40 && j < 40){
		a[i][++j] = count++;
		while(j >= 2){
			a[++i][--j] = count++;
		}
		a[++i][j] = count++;
		while(i >= 2){
			a[--i][++j] = count++;
		}
	}
//	for(int i = 1; i < 21; i++){
//		for(int j = 1; j < 21; j++){
//			printf("%d ", a[i][j]);
//		}
//		printf("\n");
//	}
	printf("%d", a[20][20]);
	return 0;
}
相关推荐
第七序章1 小时前
【C + +】unordered_set 和 unordered_map 的用法、区别、性能全解析
数据结构·c++·人工智能·算法·哈希算法·1024程序员节
草莓熊Lotso1 小时前
《算法闯关指南:优选算法--二分查找》--23.寻找旋转排序数组中的最小值,24.点名
开发语言·c++·算法·1024程序员节
傻童:CPU1 小时前
C语言需要掌握的基础知识点之矩阵
c语言·1024程序员节
sulikey2 小时前
Qt 入门简洁笔记:信号与槽
前端·c++·笔记·qt·前端框架·1024程序员节·qt框架
沐怡旸2 小时前
【穿越Effective C++】条款5:了解C++默默编写并调用哪些函数——编译器自动生成的秘密
c++
小年糕是糕手2 小时前
【数据结构】队列“0”基础知识讲解 + 实战演练
c语言·开发语言·数据结构·c++·学习·算法
无限进步_2 小时前
【C语言】函数指针数组:从条件分支到转移表的优雅进化
c语言·开发语言·数据结构·后端·算法·visual studio
报错小能手2 小时前
项目——基于C/S架构的预约系统平台(2)
linux·c语言·笔记·学习·架构
Q741_1473 小时前
C++ 分治 快速选择算法 堆排序 TopK问题 力扣 215. 数组中的第K个最大元素 题解 每日一题
c++·算法·leetcode·分治·1024程序员节·topk问题·快速选择算法
敲上瘾3 小时前
背包dp——动态规划
c++·算法·动态规划