題目:the war of virtual world
題意:在平面內給n個點的座標,n小於等於200,在這n個點中先選兩個點a,b,有(n-1)*n/2種,對於每一種情況,分別求出ki,ki等於選定的a,b直線
與剩下的點的交點數,求表示式:
的值。
#include #include #include #include using namespace std;
typedef long long ll;
const int n=210;
const int m=41000;
const int mod=1000000007;
const double eps=1e-8;
const double pi=acos(-1.0);
const double pi2=pi*2;
struct point
}point[n],temp[n];
int n;
bool visit[m];
ll fib[m];
ll fk[m];
int num[n][n];
int left[n][n];
int right[n][n];
inline point operator-(const point &a, const point &b)
inline double operator*(const point &a, const point &b)
inline bool operator==(const point &a, const point &b)
inline int cross(const point &a, const point &b, const point &o)
inline int cross(const int &a, const int &b, const int &o)
inline double positiveatan(const point &a, const point &o)
bool operator
int get********number(int a, int b, int c)
ll quick_mod(ll a,ll b)
b>>=1;
a=a*a%mod;
}return ans;
}ll solve(int x)
int main()
{ while(~scanf("%d",&n))
{for(int i=0;i
hdu 2516 斐波那契博弈)
思路 網上大牛說是著名的斐波那契博弈模型 首先 2個石頭肯定是必敗點,3個石頭也是必敗點,然後開始看後面,4個石頭時,可以去乙個使對手到必敗點,而對手在這種情況下在必敗點是不能贏得,所以4是必勝點。但是後面5個石頭的情況就不同了,因為5個石頭 你肯定不會sb的走到4這個必勝點讓對手贏,但是你發現走到...
HDU 2046 斐波那契數列
我們可以看到,假設當前為2 n 則這n可以有n 1加乙個豎的和n 2時加兩個橫的,並且這兩個是不可能重複的,因為多出來一行,1 2的矩形根本放不進去,也不可能再有其他的放置方法,這也是由最小單位是1 2的矩形這一條件決定 include include using namespace std int...
hdu 2516 斐波那契數列
problem description 1堆石子有n個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完.以後每次取的石子數不能超過上次取子數的2倍。取完者勝.先取者負輸出 second win 先取者勝輸出 first win input 輸入有多組.每組第1行是2 n 2 31.n 0退出...