学军信友队趣味网络邀请赛 A. 核酸检测(思维)

题目描述

在这里插入图片描述
在这里插入图片描述

题目思路

前言
看成最外围的路线是双线,结果就wa了。。。想了很久根本想不到正解,qwq,菜的一批

正解
在这里插入图片描述
题解真详细最难的点就是如何翻转其实不难自己直接设一个坐标模拟翻一下就行

代码

#include<algorithm>
#include<iostream>
using namespace std;
int n,m;
void print(int x,int y){
	if(n<m){
		cout<<x<<' '<<y<<'\n';
	}else{
		cout<<m+1-y<<' '<<x<<'\n';	
	}
}
int main(){
	cin>>n;
	m=n+1;
	cout<<n*(n+1)-1<<'\n';
	if(n%2==0){
		swap(n,m);
	}
	for(int x=n;x>1;x=x-2){
		for(int y=1;y<m;y=y+2){
			print(x,y);
			print(x-1,y+1);
		}
		for(int y=m;y>1;y=y-2){
			print(x,y);
			print(x-1,y-1);
		}
	}
	for(int i=1;i<=m;i++){
		print(1,i);
	} 
	return 0;
} 
发布了68 篇原创文章 · 获赞 2 · 访问量 2239

猜你喜欢

转载自blog.csdn.net/m0_46209312/article/details/105334445
今日推荐