题意:多边形,遍历各个边,给其他的边发射线,射线遇到另一个射线挡路就停下,分割出多个区域,问从多边形外面进入,便利所有的区域需要的最少步数。(只可以从一个区域到另一个相邻的区域)。
题目给出了5边形的图,自己画一个六边形 一个7边形 就能发现规律啦。
#include <iostream> using namespace std; long long a[55000]; long long b[55000]; int main() { b[0]=3; for(int i=1; i<55000; i++){ b[i] = b[i-1]+2; } a[3]=1; for(int i=4; i<55000; i++){ a[i]=a[i-1]+b[i-4]; } int n; cin>>n; cout<<a[n]<<endl; return 0; }