QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#153633#5444. Tavern Chessorganput#AC ✓124ms14016kbC++142.9kb2023-08-30 15:24:082023-08-30 15:24:08

Judging History

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

  • [2023-08-30 15:24:08]
  • 评测
  • 测评结果:AC
  • 用时:124ms
  • 内存:14016kb
  • [2023-08-30 15:24:08]
  • 提交

answer

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define PI acos(-1)
#define endl "\n"
#define int long long
#define pb push_back
#define fi first
#define se second
#define dec(a, b) fixed << setprecision(b) << double (a)
#define mem0(x) memset(x,0,sizeof(x))
using namespace std;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef unsigned long long ULL;
const int N = 1e6+5,mod=1e9+7,modd=998244353;
int ar[N],br[N],ha[N],hb[N],atz[N],btz[N];
int  k, s,n,m,sum1,len;
int cmp(int a, int b){	return a > b;}
int lowbit(int x){return x&(-x);}
int read() { int x=0,f=1; char c=getchar(); while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();return x*f;}
int gcd(int p, int b){return b?gcd(b,p%b):p;}
int lcd(int p, int b){return p*b/gcd(p,b);}
int qmi(int a, int k, int MOD) {int res=1;while(k){if(k&1){res=res*a%MOD;}a=a*a%MOD;k>>=1;}return res;}
int inv(int p, int MOD){return qmi(p,MOD-2,MOD);}
const double eps = 1e-8;
double aa,bb,pp;
void dfs(double occurprob,int t1,int t2,int xian)
{
	if(t1<=0&&t2<=0){pp+=occurprob;return;}
	else if(t1<=0){bb+=occurprob;return;}
	else if(t2<=0){aa+=occurprob;return;}
	if(xian==1)
	{
		int xx=0;
        atz[xx]=1e18;
		 for(int i=1;i<=n;i++)
		 {
           if(ha[i]>0&&atz[i]<atz[xx])xx=i;
		 }
		 atz[xx]++;
		  for(int i=1;i<=m;i++)
		{
          if(hb[i]<=0)continue;
		  int tt1=t1,tt2=t2;
		  ha[xx]-=br[i];
		  hb[i]-=ar[xx];
		  if(ha[xx]<=0)tt1--;
		  if(hb[i]<=0)tt2--;
		  dfs(occurprob*1.0*(1.0/t2),tt1,tt2,xian+1);//战斗这个随从的概率是b队剩t2人中选1的概率
		  if(ha[xx]<=0)tt1++;
		  if(hb[i]<=0)tt2++;
		  ha[xx]+=br[i];
		  hb[i]+=ar[xx];
		 
		}
		 atz[xx]--;
	}
	else{
		int xx=0;
        btz[xx]=1e18;
		 for(int i=1;i<=m;i++)
		 {
           if(hb[i]>0&&btz[i]<btz[xx])xx=i;
		 }
		 btz[xx]++;
		  for(int i=1;i<=n;i++)
		{
          if(ha[i]<=0)continue;
		int tt1=t1,tt2=t2;
		  hb[xx]-=ar[i];
		  ha[i]-=br[xx];
		  if(hb[xx]<=0)tt2--;
		  if(ha[i]<=0)tt1--;
		  dfs(occurprob*1.0*(1.0/t1),tt1,tt2,xian-1);
		  if(hb[xx]<=0)tt2++;
		  if(ha[i]<=0)tt1++;
		  hb[xx]+=ar[i];
		  ha[i]+=br[xx];
		 
		}
		 btz[xx]--;
	}
 
}
signed main()
{
	int t=1;
	ios_base::sync_with_stdio(false);cin.tie(0); cout.tie(0);

		int a, b,c,d, l, y, x, s, r,flag = 0,idx = 0,gg = 0,hh=0,res=0,sum=0, sum2 = 0;
		string str2,str,str3;
 
        cin>>n>>m;
		for(int i=1;i<=n;i++)cin>>ar[i],ha[i]=ar[i];
		for(int i=1;i<=m;i++)cin>>br[i],hb[i]=br[i];
        if(n>m)dfs(1,n,m,1);
		else if(n<m)dfs(1,n,m,2);
		else{
			dfs(1,n,m,1);
			aa*=0.5;
			bb*=0.5;
			pp*=0.5;
			double k1=aa;
			double k2=bb;
			double k3=pp;
			aa=0;
			bb=0;
			pp=0;
			dfs(1,n,m,2);
			aa=k1+aa*0.5;
			bb=k2+bb*0.5;
			pp=k3+pp*0.5;
	
		}
		cout<<dec(aa,15)<<endl;
		cout<<dec(bb,15)<<endl;
		cout<<dec(pp,15)<<endl;

return 0;
}

详细

Test #1:

score: 100
Accepted
time: 3ms
memory: 13960kb

input:

2 3
2 5
3 4 1

output:

0.125000000000000
0.750000000000000
0.125000000000000

result:

ok 3 numbers

Test #2:

score: 0
Accepted
time: 1ms
memory: 14016kb

input:

6 6
1 1 4 5 1 4
1 1 4 5 1 4

output:

0.241867283950618
0.241867283950618
0.516265432098769

result:

ok 3 numbers

Test #3:

score: 0
Accepted
time: 1ms
memory: 14016kb

input:

7 7
1 1 1 1 1 1 1
1 1 1 1 1 1 1

output:

0.000000000000000
0.000000000000000
0.999999999999997

result:

ok 3 numbers

Test #4:

score: 0
Accepted
time: 3ms
memory: 13828kb

input:

1 7
7
1 1 1 1 1 1 1

output:

0.000000000000000
0.000000000000000
1.000000000000001

result:

ok 3 numbers

Test #5:

score: 0
Accepted
time: 1ms
memory: 13832kb

input:

2 3
736618938 652769331
328875880 97571721 44608905

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #6:

score: 0
Accepted
time: 1ms
memory: 13876kb

input:

5 4
53585130 731696211 668322278 611205195 158818781
569587984 776042583 745745433 330119007

output:

0.066840277777778
0.664351851851852
0.268807870370370

result:

ok 3 numbers

Test #7:

score: 0
Accepted
time: 0ms
memory: 13820kb

input:

7 2
578505806 551611151 92903265 403642038 542119417 57334031 307573613
897644535 168524310

output:

0.999999999999999
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #8:

score: 0
Accepted
time: 1ms
memory: 13868kb

input:

5 6
113196606 64768263 772808463 787707989 500151952
481840741 676847825 4641268 431386165 847736311 169677832

output:

0.136323173868314
0.522397183641966
0.341279642489723

result:

ok 3 numbers

Test #9:

score: 0
Accepted
time: 5ms
memory: 13996kb

input:

6 6
260666773 527612597 471926610 702232282 559007797 606173983
560573055 928117268 101411867 875949818 907478252 182117037

output:

0.000000000000000
0.960819573045314
0.039180426954733

result:

ok 3 numbers

Test #10:

score: 0
Accepted
time: 1ms
memory: 13872kb

input:

3 3
333377599 3066695 67916629
426841530 865184552 974638244

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #11:

score: 0
Accepted
time: 1ms
memory: 13948kb

input:

1 1
529429019
529428649

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #12:

score: 0
Accepted
time: 1ms
memory: 13864kb

input:

3 3
12886596 817437415 465037461
12886473 817437448 465037967

output:

0.069444444444444
0.652777777777778
0.277777777777778

result:

ok 3 numbers

Test #13:

score: 0
Accepted
time: 3ms
memory: 13888kb

input:

6 6
211213374 319527017 257080158 176742665 53109345 33822515
53109265 319527076 176743175 257080012 211212799 33822353

output:

0.423399959276358
0.319386584790829
0.257213455932775

result:

ok 3 numbers

Test #14:

score: 0
Accepted
time: 2ms
memory: 11844kb

input:

1 2
1
1 1

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #15:

score: 0
Accepted
time: 0ms
memory: 11784kb

input:

1 2
1
1 3

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #16:

score: 0
Accepted
time: 2ms
memory: 11908kb

input:

1 2
2
4 2

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #17:

score: 0
Accepted
time: 2ms
memory: 11756kb

input:

1 2
3
5 5

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #18:

score: 0
Accepted
time: 1ms
memory: 13800kb

input:

1 2
4
1 2

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #19:

score: 0
Accepted
time: 3ms
memory: 14016kb

input:

1 2
5
2 5

output:

0.000000000000000
0.000000000000000
1.000000000000000

result:

ok 3 numbers

Test #20:

score: 0
Accepted
time: 3ms
memory: 11936kb

input:

1 2
5
5 5

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #21:

score: 0
Accepted
time: 3ms
memory: 14000kb

input:

2 2
1 1
1 3

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #22:

score: 0
Accepted
time: 0ms
memory: 13820kb

input:

2 2
1 1
2 3

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #23:

score: 0
Accepted
time: 3ms
memory: 13892kb

input:

2 2
1 4
2 5

output:

0.000000000000000
0.500000000000000
0.500000000000000

result:

ok 3 numbers

Test #24:

score: 0
Accepted
time: 0ms
memory: 14016kb

input:

2 2
2 2
1 4

output:

0.000000000000000
0.000000000000000
1.000000000000000

result:

ok 3 numbers

Test #25:

score: 0
Accepted
time: 1ms
memory: 14016kb

input:

2 2
3 2
4 1

output:

0.000000000000000
0.500000000000000
0.500000000000000

result:

ok 3 numbers

Test #26:

score: 0
Accepted
time: 0ms
memory: 13916kb

input:

2 2
3 3
1 3

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #27:

score: 0
Accepted
time: 3ms
memory: 13944kb

input:

2 2
3 3
2 4

output:

0.000000000000000
0.000000000000000
1.000000000000000

result:

ok 3 numbers

Test #28:

score: 0
Accepted
time: 0ms
memory: 13896kb

input:

2 2
3 3
5 3

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #29:

score: 0
Accepted
time: 3ms
memory: 14016kb

input:

2 2
4 3
2 1

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #30:

score: 0
Accepted
time: 3ms
memory: 13800kb

input:

2 2
4 3
4 4

output:

0.000000000000000
1.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #31:

score: 0
Accepted
time: 0ms
memory: 13820kb

input:

2 2
5 1
5 2

output:

0.125000000000000
0.625000000000000
0.250000000000000

result:

ok 3 numbers

Test #32:

score: 0
Accepted
time: 3ms
memory: 13820kb

input:

2 2
5 1
5 3

output:

0.125000000000000
0.625000000000000
0.250000000000000

result:

ok 3 numbers

Test #33:

score: 0
Accepted
time: 3ms
memory: 13912kb

input:

2 2
5 2
2 3

output:

0.875000000000000
0.000000000000000
0.125000000000000

result:

ok 3 numbers

Test #34:

score: 0
Accepted
time: 1ms
memory: 14016kb

input:

2 2
5 4
1 2

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #35:

score: 0
Accepted
time: 1ms
memory: 13820kb

input:

2 2
5 4
3 5

output:

0.875000000000000
0.000000000000000
0.125000000000000

result:

ok 3 numbers

Test #36:

score: 0
Accepted
time: 1ms
memory: 14000kb

input:

2 2
5 5
1 4

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #37:

score: 0
Accepted
time: 3ms
memory: 13872kb

input:

2 2
5 5
2 2

output:

1.000000000000000
0.000000000000000
0.000000000000000

result:

ok 3 numbers

Test #38:

score: 0
Accepted
time: 3ms
memory: 13960kb

input:

1 1
6
6

output:

0.000000000000000
0.000000000000000
1.000000000000000

result:

ok 3 numbers

Test #39:

score: 0
Accepted
time: 3ms
memory: 13864kb

input:

5 5
6 5 9 9 3
3 5 9 9 6

output:

0.297870370370370
0.278773148148148
0.423356481481481

result:

ok 3 numbers

Test #40:

score: 0
Accepted
time: 4ms
memory: 13960kb

input:

6 6
10 2 3 4 5 7
5 2 4 3 10 7

output:

0.254010456854419
0.192773705418379
0.553215837727219

result:

ok 3 numbers

Test #41:

score: 0
Accepted
time: 26ms
memory: 13796kb

input:

7 7
7 6 8 6 7 3 9
7 6 9 8 7 3 6

output:

0.310913751425652
0.365768367913994
0.323317880660265

result:

ok 3 numbers

Test #42:

score: 0
Accepted
time: 4ms
memory: 13820kb

input:

6 6
5 4 7 9 9 10
9 4 9 7 5 10

output:

0.216942435056588
0.327856545781894
0.455201019161527

result:

ok 3 numbers

Test #43:

score: 0
Accepted
time: 0ms
memory: 14012kb

input:

4 4
9 7 10 6
9 7 6 10

output:

0.330873842592593
0.262297453703704
0.406828703703703

result:

ok 3 numbers

Test #44:

score: 0
Accepted
time: 0ms
memory: 13832kb

input:

3 3
3 10 3
3 10 3

output:

0.187500000000000
0.187500000000000
0.625000000000000

result:

ok 3 numbers

Test #45:

score: 0
Accepted
time: 3ms
memory: 13864kb

input:

2 2
3 4
3 4

output:

0.000000000000000
0.000000000000000
1.000000000000000

result:

ok 3 numbers

Test #46:

score: 0
Accepted
time: 37ms
memory: 13916kb

input:

7 7
922750124 99645786 685060385 948410807 266950246 996521461 883971852
266950246 99645786 883971852 685060385 922750124 996521461 948410807

output:

0.363356371416154
0.279566405511694
0.357077223071860

result:

ok 3 numbers

Test #47:

score: 0
Accepted
time: 58ms
memory: 13800kb

input:

7 7
241155912 361580213 393947982 781406405 485516551 277202028 115028196
485516551 361580213 115028196 393947982 241155912 277202028 781406405

output:

0.370176093599672
0.278789945303493
0.351033961096328

result:

ok 3 numbers

Test #48:

score: 0
Accepted
time: 37ms
memory: 14012kb

input:

7 7
565748008 734938287 873800405 879803305 473331973 893190834 623040014
473331973 734938287 623040014 873800405 565748008 893190834 879803305

output:

0.364305908016597
0.315603554227072
0.320090537756139

result:

ok 3 numbers

Test #49:

score: 0
Accepted
time: 67ms
memory: 13904kb

input:

7 7
14 4 6 5 201506030 15 15
4 14 201506030 15 15 6 5

output:

0.178183791652236
0.337081509869529
0.484734698476659

result:

ok 3 numbers

Test #50:

score: 0
Accepted
time: 41ms
memory: 13876kb

input:

7 7
3 2 3 5 784861968 2 1
2 3 784861968 1 2 3 5

output:

0.223075021873261
0.316151580233120
0.460773397893292

result:

ok 3 numbers

Test #51:

score: 0
Accepted
time: 111ms
memory: 14000kb

input:

7 7
8 15 3 9 168061718 2 5
15 8 168061718 5 2 3 9

output:

0.212969595987961
0.319962995066824
0.467067408943181

result:

ok 3 numbers

Test #52:

score: 0
Accepted
time: 39ms
memory: 13996kb

input:

7 7
859736717 19 19 18 13 10 7
7 10 13 18 19 19 859736717

output:

0.393620652595261
0.147967266251591
0.458412081153275

result:

ok 3 numbers

Test #53:

score: 0
Accepted
time: 56ms
memory: 14012kb

input:

7 7
761045932 18 13 11 9 7 6
6 7 9 11 13 18 761045932

output:

0.382467689555267
0.147493238654708
0.470039071790197

result:

ok 3 numbers

Test #54:

score: 0
Accepted
time: 63ms
memory: 13908kb

input:

7 7
379524878 17 16 14 10 6 1
1 6 10 14 16 17 379524878

output:

0.379260293300025
0.176536722079749
0.444202984620401

result:

ok 3 numbers

Test #55:

score: 0
Accepted
time: 60ms
memory: 14000kb

input:

7 7
986258805 329018732 16 14 10 10 4
4 10 10 14 16 329018732 986258805

output:

0.335206523508220
0.168228186481750
0.496565290010641

result:

ok 3 numbers

Test #56:

score: 0
Accepted
time: 59ms
memory: 13960kb

input:

7 7
402437510 39859989 20 20 18 17 7
7 17 18 20 20 39859989 402437510

output:

0.328699473643242
0.160263058268631
0.511037468088660

result:

ok 3 numbers

Test #57:

score: 0
Accepted
time: 74ms
memory: 13800kb

input:

7 7
719895666 88341845 15 11 10 6 5
5 6 10 11 15 88341845 719895666

output:

0.341541058763035
0.169436596665600
0.489022344571920

result:

ok 3 numbers

Test #58:

score: 0
Accepted
time: 96ms
memory: 13864kb

input:

7 7
22 657372492 8 20 531193761 10 21
8 22 20 657372492 531193761 21 10

output:

0.283032035858358
0.214331641402716
0.502636322739040

result:

ok 3 numbers

Test #59:

score: 0
Accepted
time: 124ms
memory: 13912kb

input:

7 7
8 559730577 2 23 543514141 3 24
2 8 23 559730577 543514141 24 3

output:

0.283681616583286
0.222015713449627
0.494302669967634

result:

ok 3 numbers

Test #60:

score: 0
Accepted
time: 80ms
memory: 13944kb

input:

7 7
24 416408320 4 25 698151361 24 15
4 24 25 416408320 698151361 15 24

output:

0.297516368442968
0.247286586967415
0.455197044590217

result:

ok 3 numbers