NYOJ - 我排第几个
来源:互联网 发布:国泰安数据库账号 编辑:程序博客网 时间:2024/04/27 14:43
我排第几个
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?
- 输入
- 第一行有一个整数n(0<n<=10000);
随后有n行,每行是一个排列; - 输出
- 输出一个整数m,占一行,m表示排列是第几位;
- 样例输入
3abcdefghijklhgebkflacdjigfkedhjblcia
- 样例输出
1302715242260726926
#include <stdio.h>void fact(int a[]) // 求出阶乘 { for(int i = 2; i <= 11; i++){a[i] = i*a[i-1];}}int fun(char s[], int a[]) // 康拓展开定理 {int ret = 0;for(int i = 0; i <= 11; i++){int count = 0;for(int j = i+1; j <= 11; j++){if(s[i] > s[j])count++;}ret += count*a[11 - i];}return ret + 1;} int main(){int n;int a[12] = {0,1};char s[15];fact(a);scanf("%d",&n);while(n--){scanf("%s",s);printf("%d\n",fun(s,a));}}
- NYOJ - 我排第几个
- NYOJ - 143 第几是谁? & NYOJ - 149 我排第几个
- NYOJ 139 我排第几个
- NYOJ-139:我排第几个
- NYOJ 我排第几个 南工139
- NYOJ 139 我排第几个
- NYOJ,139,我排第几个
- nyoj 139 我排第几个
- NYOJ 139 我排第几个?
- nyoj-139 我排第几个
- NYOJ 139 我排第几个
- nyoj 139 我排第几个
- 我排第几个?
- 我排第几个
- 我排第几个
- 我排第几个
- 我排第几个
- 我排第几个
- 遇到的问题java
- 优秀的WEB开发人员应该知道的10件事
- Web前端性能优化经验分享
- Android 4.0 Launcher源码分析系列(一)
- Android 4.0 Launcher源码分析系列(二)
- NYOJ - 我排第几个
- Sybase ASE及其它产品的license获取与生成
- 一个前端工程师眼里的NodeJS
- 如何成为一名优秀的Web前端工程师
- suse上安装Sybase IQ
- 自学Linux从零开始(自学笔记③)
- Android 4.0 Launcher源码分析系列(三)
- JavaScript跨域总结与解决办法
- FT WebApp团队:如何打造一个FT风格的离线HTML5 web App