#include
#include
#include
#include
using namespace std;
vector generateCombinations(string letters, int n) {
vector combinations;
string combination(n, ' ');
function backtrack = [&](int k) {
if (k == n) {
combinations.push_back(combination);
return;
}
for (char c : letters) {
combination[k] = c;
backtrack(k + 1);
}
};
backtrack(0);
return combinations;
}
int main() {
string letters;
cin >> letters;
string sequence;
cin >> sequence;
vector comb = generateCombinations(letters, sequence.length());
auto it = find(comb.begin(), comb.end(), sequence);
cout << it - comb.begin() + 1 << endl;
return 0;
}
#include
#include
int main() {
std::string letters, symbols;
std::cin >> letters >> symbols;
std::cout << letters.find(symbols[0]) * 125 + letters.find(symbols[1]) * 25 + letters.find(symbols[2]) * 5 + letters.find(symbols[3]) + 1;
return 0;
}
import itertools
letters = input().strip()
sequence = input().strip()
# Generate all possible sequences of length four
sequences = list(itertools.permutations(letters, 4))
# Sort the sequences in lexicographic order
sequences.sort()
# Find the index of the given sequence and add 1
index = sequences.index(tuple(sequence)) + 1
# Print the result
print(index)
import itertools
letters = input().strip()
sequence = input().strip()
# Generate all possible sequences of length four
sequences = list(itertools.permutations(letters, 4))
# Sort the sequences in lexicographic order
sequences.sort()
# Find the index of the given sequence and add 1
index = sequences.index(tuple(sequence)) + 1
# Print the result
print(index)
Sample Input 1:
ABCDE
CABD
Sample Output 1:
259
Sample Input 2:
RSTWZ
ZWSR
Sample Output 2:
581