美团2018A试第一题

#include<iostream>
#include<string.h>
using namespace std;
#define maxn 100000
int addd(char x);
int main()
{
//	char a='A';
//
//	cout<<a;
//char qweqwe='A';
//int qweeqw=addd(qweqwe);
//cout<<qweeqw;


int a[9][9]={{0,1,2,1,2,3,2,3,4},{1,0,1,2,1,2,3,2,3},{2,1,0,3,2,1,4,3,2},{1,2,3,0,1,2,1,2,3},{2,1,2,1,0,1,2,1,2},{3,2,1,2,1,0,3,2,1},{2,3,4,1,2,3,0,1,2},{3,2,3,2,1,2,1,0,1},{4,3,2,3,2,1,2,1,0}};
int T;
cin>>T;
string s[10];
for (int i=0;i<T;i++)
{
	cin>>s[i];
}
for(int k=0;k<T;k++)
	{
		int sum=0;
		for(int j=0;j<s[k].size();j++)
		{
			if(j==0)
			{
				char t=s[k][0];
				sum=sum+a[0][addd(t)];
			}
			else
			{
				char t1=s[k][j-1];
				char t2=s[k][j];
				sum=sum+a[addd(t1)][addd(t2)];
			}
		}
		cout<<sum<<endl;
	}


}


int addd(char x)
{
		int address;
		if(x==65||x==66||x==67)
		address=1;
		if(x==68||x==69||x==70)
		address=2;
		if(x==71||x==72||x==73)
		address=3;
		if(x==74||x==75||x==76)
		address=4;
		if(x==77||x==78||x==79)
		address=5;
		if(x==80||x==81||x==82||x==83)
		address=6;
		if(x==84||x==85||x==86)
		address=7;
		if(x==87||x==88||x==89||x==90)
		address=8;
		return address;
}

猜你喜欢

转载自blog.csdn.net/hexiquan123/article/details/80653938
今日推荐