2 条题解

  • 1
    @ 2023-10-13 16:00:51
    #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
      @ 2023-10-10 21:24:39
      #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
      上传者