BNUOJ 44584 平面切割者

来源:互联网 发布:淘宝处方药品货到付款 编辑:程序博客网 时间:2024/06/08 20:02

题意:两个同心圆,大圆的所有弦两两相交,并且不存在三弦共点或者两弦交于小圆上同一点,判断存在n条弦时,该圆被切割成多少个区域

链接:http://www.bnuoj.com/v3/problem_show.php?pid=44584

思路:画图,将1,2,3,4根弦的情况画出来,找规律即可。递推式 f(i) = f(i-1) + i + 2

注意点:无


以下为AC代码:

UsernameRunIDIDResultLanguageTimeMemoryLengthSubmit Timeluminous11434137GAcceptedGNU C++360 ms1928 KB920 B2014-12-26 19:19:08

#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <vector>#include <deque>#include <list>#include <cctype>#include <algorithm>#include <climits>#include <queue>#include <stack>#include <cmath>#include <map>#include <set>#include <iomanip>#include <cstdlib>#include <ctime>#define ll long long#define ull unsigned long long#define all(x) (x).begin(), (x).end()#define clr(a, v) memset( a , v , sizeof(a) )#define pb push_back#define mp make_pair#define read(f) freopen(f, "r", stdin)#define write(f) freopen(f, "w", stdout)using namespace std;int num[20005];int main(){    ios::sync_with_stdio( false );    num[0] = 2;    num[1] = 4;    int k = 2;    for ( int i = 2; i < 20005; i ++ )    {        num[i] = num[i-1] + i + k;    }    int t;    cin >> t;    while ( t -- )    {        cin >> k;        cout << num[k] << endl;    }    return 0;}


0 0
原创粉丝点击