2-25 B路线方案数

题目描述

给定一个2*n的矩阵,每个单元点面积为1,且拥有独立编号。当处于坐标(x,y)时,可以向(x-1,y),(x+1,y),(x,y-1),(x,y+1)移动。
现在想考考你,从任意一点出发,每个单元正好经过一次的方案数是多少?

输入

题目包含多组测试样例。每行输入一个n(1<=n<=100000)。

输出

每组样例输出一个数代表方案数。

样例输入 Copy

2

样例输出 Copy

8

思路:

画图法…
第一组: 1
第二组: 2 + 2
第三组: 2 + 4 + 2
第四组: 2 + 6 + 4 + 2
以此类推:
第N组就是: 2 +2 * ( N - 1 )+ 2 * ( N - 2 )+ ··· ··· 6 + 4 + 2

AC代码:

#include<bits/stdc++.h>
using namespace std;
long long n,d;
long long dfs(int x){
	long long y=0;
	long long b;
	if(x==1){
		y=1;
	}if(x==2){
		y=2+2;
	}if(x>=3){
		y=2+4+2;
	}b=6;
	while(x>3){
		x--;
		y+=b;
		b+=2;
	}
	y*=2;
	return y;
}
int main(){
	while(cin>>n){
		d=dfs(n);
		cout<<d<<endl;
	}
	return 0;
}

不知道我这歪门邪道对不对。。。

发布了34 篇原创文章 · 获赞 6 · 访问量 1360

猜你喜欢

转载自blog.csdn.net/qq_44669377/article/details/104503662