2 条题解
-
1
#include<stdio.h> #include<string.h> int main() { int n, len, i, a[20], num; long long sum, temp; char ch[20]; scanf("%d", &n); while(n--) { int order = 0; sum = 0; scanf("%s", ch); len = strlen(ch); for(i = 0; i < len; i++) { a[i] = ch[i] - 'a' + 1; } for(i = 0; i <= len - 2; i++) { temp = 1, num = 0; for(int j = 1; j <= len-1-i; j++) { temp *= j; } // printf("temp=%lld ", temp); for(int x = order; x < 11; x++) { if(a[x+1] < a[order]) num++; } // printf("num=%d\n", num); order++; sum += temp * num; } printf("%lld\n",sum + 1); } }
-
0
#include <stdio.h> #include <string.h> int JC(int n) { int i,sum=1; for(i=1; i<=n; i++) sum*=i; return sum; } int main() { int N; scanf("%d",&N); while(N--) { int a[15]; char s[15]; int i,j,k,t,len,sum,ss; scanf("%s",s); t=len=strlen(s); sum=ss=0; memset(a,0,sizeof(a)); for(i=0; i<len; i++) { for(k=0,j=i+1; j<len; j++) { if(s[j]<s[i]) k++; } a[--t]=k; } for(i=len-1; i>=0; i--) { ss=JC(i); sum+=a[i]*ss; } printf("%d\n",sum+1); } return 0; }
- 1
信息
- ID
- 174
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 166
- 已通过
- 81
- 上传者