QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#582218#9376. GamejcybtdWA 143ms3628kbC++111.0kb2024-09-22 15:41:072024-09-22 15:41:08

Judging History

你现在查看的是最新测评结果

  • [2024-09-22 15:41:08]
  • 评测
  • 测评结果:WA
  • 用时:143ms
  • 内存:3628kb
  • [2024-09-22 15:41:07]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
const int mod = 998244353; 

ll pa, pb;

ll ksm(ll a, ll b){
	a %= mod;
	b %= mod;
	ll res = 1;
	while(b){
		if(b & 1) res = (res * a) % mod;
		a = (a * a) % mod;
		b >>= 1;
	} 
	return res;
}

ll f(ll x, ll y){//返回awin的概率 
	if(x <= y){
		ll kb = y / x;
		if(y % x == 0) return ksm(pa, kb);
		return ksm(pa, kb) * f(x, y % x) % mod;
	}
	else{
		ll kb = x / y;
		if(x % y == 0) return (1 - ksm(pb, kb) + mod) % mod;
		return ((1 - ksm(pb, kb) * ((1 - f(x % y, y) + mod) % mod) % mod + mod) % mod);
	}
}

void solve(){
	ll x, y;
	ll a, b, c;
	cin >> x >> y >> a >> b >> c;
	a = a * ksm(c, mod - 2);
	b = b * ksm(c, mod - 2);
	pa = a * ksm(a + b, mod - 2) % mod;
	pb = b * ksm(a + b, mod - 2) % mod; 
	
	cout << f(x, y) << endl;
} 

void get(ll a, ll b){
	a %= mod;
	b %= mod;
	cout << a * ksm(b, mod - 2) % mod << endl;
}

int main(){
	int t;
	cin >> t;
	while(t--){
		solve();
	}
	return 0;
} 

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3616kb

input:

3
1 1
2 2 6
1 3
2 3 6
3 4
7 3 15

output:

499122177
910398850
220911476

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 143ms
memory: 3628kb

input:

100000
1 1000000000
12980050 128257807 266126484
1 1000000000
400255084 123438563 768881284
1000000000 1000000000
24563487 72082135 450057094
1 1000000000
56952077 40876000 193815114
1000000000 1000000000
82048274 239365585 326520865
1000000000 1
309821265 346013425 963168258
1 1
104158269 199365020...

output:

-770290878
890050519
335703263
763860947
-783391962
974447292
30266590
514480642
947443564
-678235805
171512705
549449940
-976800137
848902815
984641203
767618152
-638986398
-603796344
574702536
52763345
-604620423
125244741
-788577654
429770801
-672800251
949619555
-305044711
53797779
27090127
5435...

result:

wrong answer 1st lines differ - expected: '947058399', found: '-770290878'