給出沒有三線交在一點的一些直線,求圍成了多少個三角形。求出交點的個數組合數一發,再求出三點共線的情況,減一發即可。
#include
#include
#include
#define ll long long
#define fo(i,j,k) for(int i=j;i<=k;i++)
#define fd(i,j,k) for(int i=j;i>=k;i--)
using namespace std;
int const maxn=3
*1e5;
ll n,cnt[maxn+10],mod=1e9+7;
struct rec;
rec a[maxn+10];
bool cmp(rec x,rec y)
int main()
}sort(a+1,a+tmp+1,cmp);
cnt[++cnt[0]]=1;ll sum=0;
fo(i,2,tmp)
if(-a[i-1].a*a[i].b==-a[i].a*a[i-1].b)cnt[cnt[0]]++;
else
if(cnt[0]>2)sum+=cnt[cnt[0]]*cnt[cnt[0]];
sum+=cnt[1]*cnt[1];
sum+=cnt[2]*cnt[2];
ll ans=0;
fo(i,1,cnt[0])
printf("%lld",ans/3
%mod);
return
0;}
UVA UVA 489解題報告
這是個遊戲題,是原來上英語課時,老師喜歡出的吊死鬼的遊戲.所以遊戲規則大概也清楚.不過需要注意幾點 1.若正確答案中某個字母出現了多次,那麼只要猜中那個字母一次,就算答案中那個字母全被猜中.2.猜錯的字母如果重複,則只算錯一次.若7條命都沒了,就算失敗,全部猜中則算成功.如果沒全猜中但是還有剩餘生命...
UVa 489 劊子手遊戲
遊戲規則,計算機想乙個單詞讓你猜,你每次可以猜乙個字母,如果單詞裡有那個字母,所有該字母都會顯示出來,如果沒有那個字母 則計算機會在一副 劊子手 畫上填一筆,這幅畫一共需要7筆就能完成,因此你最多只能錯6次。注意猜乙個已經猜過的字母也算錯。在本題中,你的任務是編寫乙個 裁判 程式,輸入單詞和玩家的猜...
UVA 489 劊子手遊戲
在 劊子手法官 中,你要編寫乙個程式來評判一系列的劊子手遊戲。為每乙個遊戲中,給出謎語的答案和猜測。規則和經典遊戲一樣。關於劊子手,如下所示 1。參賽者試圖通過猜乙個字母來解開謎題。2。每次猜對時,單詞中所有匹配猜測的字元都將被 轉換 結束了。例如,如果你的猜測是 o 而單詞是 book 那麼 o ...