日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

一本通1655数三角形

發(fā)布時(shí)間:2025/7/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一本通1655数三角形 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1655:數(shù)三角形

時(shí)間限制: 1000 ms ??? ??? 內(nèi)存限制: 524288 KB

【題目描述】

給定一個(gè)?n×m?的網(wǎng)格,請(qǐng)計(jì)算三點(diǎn)都在格點(diǎn)上的三角形共有多少個(gè)。下圖為?4×4?的網(wǎng)格上的一個(gè)三角形。

注意:三角形的三點(diǎn)不能共線。

【輸入】

輸入一行,包含兩個(gè)空格分隔的正整數(shù)?m?和?n。

【輸出】

輸出一個(gè)正整數(shù),為所求三角形數(shù)量。

【輸入樣例】

2 2

【輸出樣例】

76

【提示】

數(shù)據(jù)范圍與提示:

對(duì)于所有數(shù)據(jù),1m,n1000

?

sol:肯定是算不能構(gòu)成三角形的方案數(shù)比較容易。

總方案數(shù)就是C(n*m,3)

不能構(gòu)成的有兩種情況

1)三個(gè)點(diǎn)都在同一條與水平面平行或垂直的線上 C(n,3)*m+C(m,3)*n

2)對(duì)于一條任意長(zhǎng)度的斜線,設(shè)其兩端坐標(biāo)為(1,1) (a,b),那么斜線上格點(diǎn)的個(gè)數(shù)就是gcd(a-1,b-1)+1,在整個(gè)矩形中這樣的斜線會(huì)有(n-a+1)*(m-b+1)條,但是直接在這條斜線上任取三個(gè)點(diǎn)會(huì)有重復(fù),所以欽定兩個(gè)端點(diǎn)必須取,中間任取一個(gè)點(diǎn)

注意有斜線有兩個(gè)方向,這樣的要減兩倍

#include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll read() {ll s=0;bool f=0;char ch=' ';while(!isdigit(ch)){f|=(ch=='-'); ch=getchar();}while(isdigit(ch)){s=(s<<3)+(s<<1)+(ch^48); ch=getchar();}return (f)?(-s):(s); } #define R(x) x=read() inline void write(ll x) {if(x<0){putchar('-'); x=-x;}if(x<10){putchar(x+'0'); return;}write(x/10);putchar((x%10)+'0');return; } #define W(x) write(x),putchar(' ') #define Wl(x) write(x),putchar('\n') ll n,m; inline ll gcd(ll x,ll y) {return (!y)?(x):(gcd(y,x%y)); } int main() {ll i,j,ans=0,Sum=0;n=read()+1; m=read()+1;ans=(n*m)*(n*m-1)*(n*m-2)/6;ans-=m*n*(n-1)*(n-2)/6;ans-=n*m*(m-1)*(m-2)/6;for(i=2;i<=n;i++){for(j=2;j<=m;j++){ll tmp=gcd(i-1,j-1)+1;if(tmp>2) Sum+=(tmp-2)*(n-i+1)*(m-j+1);}}Wl(ans-(Sum<<1));return 0; } /* input 2 2 output 76input 6 9 output 52758 */ View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/gaojunonly1/p/10543963.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的一本通1655数三角形的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。