rt,大佬帮忙debug一下,万分感谢(请忽略时间复杂度)。
思路:分别求出R的分子(aans)和分母(ans),输出ansaans的值.
code:
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=998244353;//模数
inline int read()//快读
{
register char ch=getchar();
int x=0;
while(!isdigit(ch))ch=getchar();
while(isdigit(ch))
{
x=(x<<3)+(x<<1)+(ch&15);
ch=getchar();
}
return x;
}
inline void put(int x)//快写
{
if(x>=10)put(x/10);
putchar(x%10+48);
return;
}
int r[64010],n,ans,aans;//定值电阻大小,数量,分母,分子
signed main()
{
n=read();
for(int i=1;i<=n;i++)r[i]=read();
for(int j=1;j<=n;j++)
{
ans=0;aans=1;
//并联电阻计算公式
for(int i=1;i<=n;i++)
aans=(aans*((j*n)%N+r[i])%N)%N;
for(int i=1;i<=n;i++)
{
ans=(ans+aans/((j*n)%N+r[i]))%N;
}
put((aans/ans)%N);putchar(' ');
}
return 0;
}