https://leetcode-cn.com/problems/minimum-distance-to-type-a-word-using-two-fingers/
dp【位置】【手指1 x】【手指1 y】【手指2 x】【手指2 y】,表示已输入该位置后的字符后两只手指所在的位置所用最小的移动距离。由于最开始的时候手指可以位于任何地方,所以dp[-1][所有位置1][所有位置2]=0,未输入任何字符,所以是-1。
由于每次都可以由左手或右手输入。
class Solution {
public:
vector<string> keyboard;
map<char,pair<int,int>> charpos_map;
int dp[305][5][6][5][6];
const int INF=0x3f3f3f3f;
void init(){
keyboard.push_back("ABCDEF");
keyboard.push_back("GHIJKL");
keyboard.push_back("MNOPQR");
keyboard.push_back("STUVWX");
keyboard.push_back("YZ");
for(int i=0;i<keyboard.size();i++){
for(int j=0;j<