jzoj4894 SJR的直線 數論

2021-07-24 15:14:48 字數 803 閱讀 7082

給出沒有三線交在一點的一些直線,求圍成了多少個三角形。求出交點的個數組合數一發,再求出三點共線的情況,減一發即可。

#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 ...