n組字母和最大

2021-07-11 11:49:21 字數 1420 閱讀 8406

字母a-j,用0-9對應字母使得n組資料和最大,輸入字串前面保證非0

如輸入組資料:

2 abc

bca

輸出:

1875

思路:其實就是求和,對應字元乘以相應的量級,按係數排序

如上max(101a+110b+11c)

那b:9 a:8,c:7產生最大和

同時考慮型別為字串涉及字串加法

#include 

#include

#include

#include

#include

#include

#define imin numeric_limits::min()

#define imax numeric_limits::max()

#define fr(i,n) for(int i=0;i#define clc(x) memset(x,0,sizeof(x))

#define fill(x,c) memset(x,c,sizeof(x))

#define viter vector::const_iterator

using

namespace

std;

string invert(string &src)

void inverse(string &s)

}string intadd(string &rs1,string &rs2)

else

if(n==str1.length())

x=t1/10;

}while(x!=0);

str1[i]=(char)(t+48);

}else

}string &rstrresult=str1;

string strout=invert(rstrresult);

return strout;

}void init_map(map

&wmap)

string get_max(vector

&vstr)

}map

nmap;

map::iterator it = wmap.begin();

while(it!=wmap.end())

else

it++;

}map

idmap;

map::iterator it0 = nmap.begin();

char num='9';

while(it0!=nmap.end())

string res;

for(int i=0;ifor(int j=0;jcout

return res;

}int main()

cout

0;}

N 組連續子串最大和

陣列 a 中有 m 個數 將 m 個數分成 n 組 並且每組中的資料順序和原陣列中的順序保持一致,求 n 組中的資料之和最大為多少?向 dp 陣列中賦初始值 如果 m n 則 dp i i dp i 1 i 1 a i 若n為1時 即為求連續子串最大和問題 假設dp 1 i 2 i m 代表 與第 ...

取字母組串

print?取字母組成串 a b c d中取5次,每個字母都可以重複取出,形成乙個串。現在要求,串中a出現的次數必須為偶數 0次也算偶數 求可以形成多少種可能的串。public class 取字母組串 取n次,a出現偶次 public static int f int n public static...

最大字母矩陣

有乙個單詞清單,請設計乙個高效演算法,計算由清單中單詞組成的最大子矩陣,要求矩陣中的行和列都是清單中的單詞。給定乙個string陣列dic,代表單詞清單,同時給定清單的大小n,請返回最大子矩陣的面積。保證單詞清單的大小小於等於50,且某一長度的串的數量小於等於12。測試樣例 aaa aaa aaa ...