AcWing 458 比例簡化(列舉 二分)

2021-10-19 08:58:33 字數 1639 閱讀 6536

題目鏈結

在社交**上,經常會看到針對某乙個觀點同意與否的民意調查以及結果。

例如,對某一觀點表示支援的有1498人,反對的有902人,那麼贊同與反對的比例可以簡單的記為1498:902。

不過,如果把調查結果就以這種方式呈現出來,大多數人肯定不會滿意。

因為這個比例的數值太大,難以一眼看出它們的關係。

對於上面這個例子,如果把比例記為5:3,雖然與真實結果有一定的誤差,但依然能夠較為準確地反映調查結果,同時也顯得比較直觀。

現給出支援人數a,反對人數b,以及乙個上限l,請你將a:b化簡為a′:b′,要求在a′和b′均不大於l且a′和b′互質(兩個整數的最大公約數是1)的前提下,a′b′≥ab且a′b′−ab的值盡可能小。

輸入格式

輸入共一行,包含三個整數a,b,l,每兩個整數之間用乙個空格隔開,分別表示支援人數、反對人數以及上限。

輸出格式

輸出共一行,包含兩個整數a′,b′,中間用乙個空格隔開,表示化簡後的比例。

資料範圍

1≤a,b≤106,

1≤l≤100,a/b≤l

輸入樣例:

1498

90210

輸出樣例:

5

3

思路:

答案:

#include

#include

#define ll long long

#define ull unsigned long long

#define inf 0x3f3f3f3f

#define inf 0x3f3f3f3f3f3f3f3f

#define rep(i,a,b) for(auto i=a;i<=b;++i)

#define bep(i,a,b) for(auto i=a;i>=b;--i)

#define lowbit(x) x&(-x)

#define pii pair

#define pll pair

#define pi acos(-1)

#define pb push_back

#define eps 1e-6

const

int mod =

1e9+7;

const

int mod =

1e4+7;

const

int n =

1e6+10;

const

int m =65;

int dx=

;int dy=

;int dxy[

2]=,

,,};

using

namespace std;

void

solve()

}}} cout<

" "<

}int

main()

AcWing 45 之字形列印二叉樹

題目描述 請實現乙個函式按照之字形順序從上向下列印二叉樹。即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。樣例輸入如下圖所示二叉樹 8,12,2,null,null,6,4,null,null,null,null 8 12 2 6 4 輸...

跋涉不止(45)

第四十五章 燈紅酒綠的世界 除了日常為唯威產品不停的加班外,也有一些時間,因為商務上需要技術的支援,因此小江有時候會拉上我,走進乙個商務的世界。在我看來,那是乙個燈紅酒綠的世界,因為這另乙個世界,我突然感覺到,其實,做技術還是挺幸福的,相對商務而言,技術的辛苦,無非是為乙個個技術難題的煩惱,但終歸還...

45 括號匹配

蒜頭君在紙上寫了乙個串,只包含 和 乙個 能唯一匹配乙個 但是乙個匹配的 必須出現在 之前。請判斷蒜頭君寫的字串能否括號完全匹配,如果能,輸出配對的括號的位置 匹配的括號不可以交叉,只能巢狀 一行輸入乙個字串只含有 和 輸入的字串長度不大於500 00。如果輸入括號不能匹配,輸出一行 no 否則輸出...