CF1674B的题解

osfly / 2023-08-25 / 原文

很简单的题

可以先初始化一下,把所有单词放进一个 map 里,最后输入时用 map 映射即可。

一个坑点,注意每一个单词的两个字母不相同。

#include<cstdio>
#include<map>
#include<string>
#include<iostream>
using namespace std;

map<string,int> mp;

void init()
{
	int index=0;
	
	for(int i=0;i<26;i++)//枚举每一个单词
		for(int j=0;j<26;j++)
			if(i!=j)
			{
				string word="";
				word+=i+'a';
				word+=j+'a';
				mp[word]=++index;
			}
}

int t;
string d;

int main()
{
	init();
	
	scanf("%d",&t);
	
	while(t--)
	{
		cin>>d;
		printf("%d\n",mp[d]);
	}
	
	return 0;
}