usaco Electric Fence
生活随笔
收集整理的這篇文章主要介紹了
usaco Electric Fence
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一開始枚舉點,交一次發現少判斷一種情況最后實在沒有耐心了去百度了原來還有這么個東西
皮克定理?
皮克定理說明了其面積S和內部格點數目a、邊上格點數目b的關系:S = a + b/2 - 1。
根據三角形面積公式求出S。
如果知道了b,那么三角形內部格點數目a也就求出來了。
可以證明,一條直線((0,0),(n,m))上的格點數等于n與m的最大公約數+1。即b=gcd(n,m)+1. gcd(n,m)為n與m的最大公約數。(這個很好證明m/n一寫再約去一個最大公約數后你就活發現了),+1是0,0端點。
/*
ID:jinbo wu
TASK: fence9
LANG:C++
*/
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{if(b==0)return a;else return gcd(b,a%b);
}
int main()
{freopen("fence9.in","r",stdin);freopen("fence9.out","w",stdout);int n,m,p;cin>>n>>m>>p;int s,a,b;b=0;b+=gcd(n,m);//不加一很明顯三個端點三條直線一個端電上有兩條直線。b+=gcd(abs(p-n),m);//把p,0那點看作(0,0)點又是。b+=p;s=(p*m)/2;a=s-b/2+1;cout<<a<<endl;}
總結
以上是生活随笔為你收集整理的usaco Electric Fence的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ccf 交通规划(迪杰斯特拉优先队列模板
- 下一篇: 上海欢乐谷全天票可以玩到几点