比赛链接:https://ac.nowcoder.com/acm/contest/32708

K题:大意是小g将要进行n场比赛,他的获胜概率是x=a/b,对于每一场比赛,如果期望值<=x,他将获胜,否则失败。
ans  一定是  n*x  或者  n*x+1。

我们容易发现,第一场一定会赢,所以剩下的场次就是n-1  ,这样的ans  就是  ans = (n-1)*x+1;
因为一定存在一个胜场。(就硬找规律)

code:


#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize(2)
#define ll long long
inline int read()
{
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	return x*f;
}
void solve()
{
	ll n,a,b;
	cin>>n>>a>>b;
	if(n==1) cout<<1<<endl;
	else 
		cout<<(n-1)*a/b+1<<endl;
}
int main()
{
 	//cin.ignore(numeric_limits<streamsize>::max(),'\n')
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int t;
	cin>>t;
	while(t--)
	{
		solve();
	}
}



D题:https://www.cnblogs.com/WIDA/p/16224507.html先存着吧ε=(´ο`*)))唉