NYOJ 139 我排第几个 和 NYOJ 143 第几是谁? 【康拓展开和逆康拓展开】
来源:互联网 发布:九城软件多少钱 编辑:程序博客网 时间:2024/04/28 16:38
原题链接:点击打开链接
康拓展开:
链接:点击打开链接 和 点击打开链接
逆康拓展开:
链接:点击打开链接 和 点击打开链接
应该可以看懂康拓了吧。。。
139 康拓展开 代码:
#include<stdio.h>#include<string.h>int f(int n){int sum=1,a;for(a=2;a<=n;a++)sum*=a;return sum;}int main(){int a,b,c,n,m;scanf("%d",&n);getchar();while(n--){int ok[15],sum,max;int ac[15]={0};char ch1;a=0;max=0;while(scanf("%c",&ch1)&&ch1!='\n')ok[a++]=ch1-'a'+1;for(b=0;b<a-1;b++){sum=0;ac[ok[b]]=1;for(c=1;c<ok[b];c++){if(ac[c]==0)sum++;}max+=sum*f(a-b-1);}printf("%d\n",max+1);}}
143 逆康拓展开 代码:
#include<stdio.h>#include<string.h>long long sum[15]={1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600}; //存的是0~12的阶乘..int main(){long long k,a,b,m,n,i,j;scanf("%lld",&k);while(k--){long long max;int ok[15];memset(ok,0,sizeof(ok));scanf("%lld",&max);max--;//注意。。for(a=12;a>0;a--){j=max/sum[a-1];i=0;max=max%sum[a-1];for(b=1;b<=12;b++){if(ok[b]==0){i++;} if(i==j+1) break;}printf("%c",b+96);ok[b]=1; //标记。。}printf("\n");}}
- NYOJ 139 我排第几个 和 NYOJ 143 第几是谁? 【康拓展开和逆康拓展开】
- nyoj 139 我排第几个--康拓展开
- NYOJ 139 我排第几个 [康拓展开]【数学】
- nyoj 139 我排第几个(康拓展开)
- NYOJ 题目143 第几是谁?(康拓展开)
- nyoj 143 第几是谁(康拓展开的逆运算)
- nyoj 143第几是谁?和 nyoj 139 我排第几个
- 【康拓拓展】NYOJ-143.第几是谁
- NYOJ - 143 第几是谁? & NYOJ - 149 我排第几个
- 康拓展开 之 我排第几个
- nyoj139 我排第几个(康拓展开)
- nyoj 139 我排第几 143 第几是谁
- nyist 139 我排第几个&&143 第几是谁(康托展开和逆康托展开)
- qduoj 26 排在第几个 康拓展开
- nyoj-139-我排第几个(康托展开)
- NYOJ 139 我排第几个(康托展开)
- nyoj 139 我排第几个【数学】【康托展开】
- nyoj 139我排第几个(康托展开)
- 哲理故事与管理之道(16)-目标明确才有足够的信心
- 3_8_DOUBLEWEI Bootloader启动过程
- js 调用 function 的多种方式
- web service 的简单实现
- 使用 GDB 调试 Linux 软件
- NYOJ 139 我排第几个 和 NYOJ 143 第几是谁? 【康拓展开和逆康拓展开】
- Visual Studio2011安装问题(更新无法定位程序输入点_Atomic_fetch_sub_4动态链接库MSVCR110.dll上的问题)
- dede runphp简单写法教程
- 3_9_DOUBLEWEI 混IT,靠的是能力,不是技能
- Java: 进程、线程与JVM、CLR
- AOP--Filter使用,过滤器和拦截器的区别
- 讲讲volatile的作用
- HFile详解-基于HBase0.90.5
- cannot access the ClassView information file