fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int sum(string s){
  6. int total=0;
  7. for(int i=0;i<s.length();i++){
  8. if(s[i]-'0'<=9)
  9. total+=s[i]-'0';
  10. }
  11.  
  12. return total;
  13. }
  14.  
  15. int dic(string s){
  16.  
  17. }
  18.  
  19. bool cmp(string a, string b){
  20. if(a.length()!=b.length())
  21. return a.length()<b.length();
  22. else if(sum(a)!=sum(b))
  23. return sum(a)<sum(b);
  24. return a<b;
  25. }
  26.  
  27. int main() {
  28. int n;
  29. string str[51];
  30.  
  31. cin>>n;
  32.  
  33. for(int i=0;i<n;i++){
  34. cin>>str[i];
  35. }
  36.  
  37. sort(str, str+n, cmp);
  38.  
  39. for(int i=0;i<n;i++){
  40. cout<<str[i]<<"\n";
  41. }
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0.01s 5280KB
stdin
5
ABCDE
BCDEF
ABCDA
BAAAA
ACAAA
stdout
ABCDA
ABCDE
ACAAA
BAAAA
BCDEF