nyoj 139 我排第几个(康托展开)
2017-03-30 07:28
417 查看
ps:康托展开基础知识
代码:
#include<stdio.h> #include<string.h> typedef long long LL; LL factory[15]; void init() { factory[0]=1,factory[1]=1; for(int i=2; i<15; ++i) factory[i]=i*factory[i-1]; } LL Contor(char str[],int n) { LL ans=0; for(int i=0; i<n; ++i) { LL cnt=0; for(int j=i+1; j<n; ++j) if(str[j]<str[i]) cnt++; ans+=cnt*factory[n-i-1]; } return ans+1; } int main() { 4000 init(); int n; scanf("%d",&n); char s[15]; while(n--) { scanf("%s",s); printf("%lld\n",Contor(s,strlen(s))); } return 0; }
相关文章推荐
- nyoj 139 我排第几个(康托展开)
- NYOJ 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- nyoj 139 我排第几个【数学】【康托展开】
- nyoj 139 我排第几个(康托展开)
- nyoj-139-我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- NYOJ 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)
- nyoj 139我排第几个(康托展开)
- NYOJ139我排第几个(康托展开)
- NYOJ ~ 139 ~ 我排第几个(康托展开)
- nyoj139我排第几个&nyoj第几是谁?——康托展开及康托逆展开
- nyoj 139 我排第几个(康托展开)
- nyoj 139 我排第几个(康托展开)