Codeforces Round #786 (Div. 3) B. Dictionary

Posted on   zeitspeed  阅读(24)  评论(0编辑  收藏  举报

time limit per test2 seconds
memory limit per test512 megabytes
inputstandard input
outputstandard output
The Berland language consists of words having exactly two letters. Moreover, the first letter of a word is different from the second letter. Any combination of two different Berland letters (which, by the way, are the same as the lowercase letters of Latin alphabet) is a correct word in Berland language.

The Berland dictionary contains all words of this language. The words are listed in a way they are usually ordered in dictionaries. Formally, word a comes earlier than word b in the dictionary if one of the following conditions hold:

the first letter of a is less than the first letter of b;
the first letters of a and b are the same, and the second letter of a is less than the second letter of b.
So, the dictionary looks like that:

Word 1: ab
Word 2: ac

Word 25: az
Word 26: ba
Word 27: bc

Word 649: zx
Word 650: zy
You are given a word s from the Berland language. Your task is to find its index in the dictionary.

Input
The first line contains one integer t (1≤t≤650) — the number of test cases.

Each test case consists of one line containing s — a string consisting of exactly two different lowercase Latin letters (i. e. a correct word of the Berland language).

Output
For each test case, print one integer — the index of the word s in the dictionary.

Example
inputCopy
7
ab
ac
az
ba
bc
zx
zy
outputCopy
1
2
25
26
27
649
650

#include<iostream>
using namespace std;
int main(void) {
	int n;
	scanf("%d", &n);
	getchar();
	char a[3];
	for (int i = 0; i < n; i++) {
		gets(a);
		if (a[1] > a[0]) {
			printf("%d\n", (a[0] - 'a') * 25 + (a[1] - 'a'));
		}
		else {
			printf("%d\n", (a[0] - 'a') * 25 + (a[1] - 'a')+1);
		}
	}
	return 0;
}
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示