0
点赞
收藏
分享

微信扫一扫

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

是她丫 2022-05-03 阅读 141

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;
}
举报

相关推荐

0 条评论