社区讨论
shabi选手刚学OI,问个问题
P2624[HNOI2008] 明明的烦恼参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi7rtokv
- 此快照首次捕获于
- 2025/11/21 02:34 4 个月前
- 此快照最后确认于
- 2025/11/21 02:34 4 个月前
这个是我的AC代码。
CPPn=int(input())
a=[0]*(n+5)
fac=[0]*(n+5)
fac[0]=1
fre=0
dlen=0
for i in range(1,n+1):
fac[i]=fac[i-1]*i
for i in range(1,n+1):
a[i]=int(input())
if a[i]==-1:
fre=fre+1
else:
dlen=dlen+a[i]-1
if dlen>n-2:
print("0")
exit()
ans=fac[n-2]//fac[n-2-dlen]
for i in range(1,n+1):
if a[i]!=-1:
ans=ans//fac[a[i]-1]
for i in range(0,n-2-dlen):
ans=ans*fre
print(int(ans))
exit()
为什么这里必须写
//而不能写/啊。百度了一下,
//是整除,但是这里都是整数而且必定能整除应该没影响吧。回复
共 2 条回复,欢迎继续交流。
正在加载回复...