牛客練習賽71 B 烙印 (幾何)

2022-05-03 12:03:36 字數 2319 閱讀 3405

題面:

思路:設\(cnt\_angle\)代表資料中給出的角的個數,

那麼我們不妨對\(cnt\_angle\)為\(0,1,2,3\)進行分類討論處理:

那麼我們只需要判斷三個邊是否構成三角形即可,若構成則答案為1,否則答案為0.

判斷的方法有很多種,比較好寫的是判斷三個邊的和是否大於三個邊中最大值的二倍。

我們將給定的角轉化為角\(\mathit a\),

如果角\(\mathit a\) 的對邊\(\mathit a\) 的沒有給出,那麼兩邊夾一角唯一確定乙個三角形。

否則對面給出了:

如果\(90\leq a\),即該角度為直角或鈍角,根據大邊對大角的性質,對邊\(\mathit a\) 要大於給出的另外乙個邊。

角\(a<90\)的話,判斷對邊為半徑的圓與沒給出的那個臨邊的交點個數就是答案。

**:

#include #include #include #include #define all(x) (x).begin(), (x).end()

#define sz(a) int(a.size())

#define rep(i,x,n) for(int i=x;i#define pll pair#define gbtb ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)

#define ms0(x) memset((x), 0, sizeof((x)))

#define msc0(x) memset((x), '\0', sizeof((x)))

#define pb push_back

#define mp make_pair

#define fi first

#define se second

#define eps 1e-6

#define chu(x) if(debug_switch) cout<= 1;} return ans;}

ll poww(ll a, ll b) ll ans = 1; while (b) a = a * a ; b >>= 1;} return ans;}

void pv(const vector&v) else }}

void pvl(const vector&v) else }}

inline long long readll() c = getchar();} while (c >= '0' && c <= '9') return tmp * fh;}

inline int readint() c = getchar();} while (c >= '0' && c <= '9') return tmp * fh;}

void pvarr_int(int *arr, int n, int strat = 1) repd(i, strat, n) }

void pvarr_ll(ll *arr, int n, int strat = 1) repd(i, strat, n) }

const int maxn = 1000010;

const int inf = 0x3f3f3f3f;

/*** template code * * starts here ***/

#define debug_switch 0

bool check(int a, int b, int c)

int a, b, c, a, b, c;

int solve(double angle, int c, int a)

else

} else if (fabs(dis - a) < 1e-8) else

return ans;

}int main()

if (b != -1)

if (c != -1)

if (sum > 180 || a == 0 || b == 0 || c == 0)

if (cnt_angle == 3) else

} else else if (cnt_angle == 0) else

} else if (cnt_angle == 1)

if (b != -1)

angle = 1.0 * a / 180 * acos(-1);

if (a == -1)

if (a >= 90) else

continue;

}if (b == -1)

if (c == -1)

printf("%d\n", ans);

} else if (cnt_angle == 2) }}

return 0;

}

牛客練習賽71 B 烙印(判斷構成三角形個數)

題解 蒟蒻的收穫 後記點此處跳轉題目 ynoi 是乙個可愛的女孩子,她想要設計乙個獨特的烙印。ynoi 認為,烙印必須得是乙個三角形的。但是她太忙了,所以她找到了 syksykccc 幫忙。syksykccc 接到這個任務後,覺得太簡單了,所以他給了這個三角形 3 個限制。眾所周知,三角形的六要素是...

牛客練習賽4 B

思維題,把 i2 j2 ai2 aj2 絕對值符號去掉後,我們設i2 j2 ai2 aj2 j2 i2 aj2 ai2 j2 aj2 i2 ai2 或者 i2 j2 ai2 aj2 j2 i2 aj2 ai2 ai2 i2 aj2 j2 原式化簡後只有這兩種形式,那麼我們可以設定兩個陣列a n b ...

牛客練習賽69 B

題意 給定n nn個數,乙個x xx表示可以劃分成最多x xx個串,乙個y yy表示在乙個串中最多選擇y yy個數。最後求 i 1x j 1yv al i j sum x sum yval i,j i 1x j 1 y va l i,j v al i,j val i,j val i,j 為 將n n...