#include <iostream>
#include <cctype>
int calculateBlackjackScore(char card1, char card2) {
int score = 0;
card1 = toupper(card1);
card2 = toupper(card2);
if ((card1 >= '2' && card1 <= '9') || card1 == 'T' || card1 == 'K' || card1 == 'Q' || card1 == 'J' || card1 == 'A') {
if ((card2 >= '2' && card2 <= '9') || card2 == 'T' || card2 == 'K' || card2 == 'Q' || card2 == 'J' || card2 == 'A') {
if (card1 >= '2' && card1 <= '9') {
score += card1 - '0';
} else if (card1 == 'T' || card1 == 'K' || card1 == 'Q' || card1 == 'J') {
score += 10;
} else if (card1 == 'A') {
score += 11;
}
if (card2 >= '2' && card2 <= '9') {
score += card2 - '0';
} else if (card2 == 'T' || card2 == 'K' || card2 == 'Q' || card2 == 'J') {
score += 10;
} else if (card2 == 'A') {
if (card1 == 'A') {
score += 1;
} else {
score += 11;
}
}
return score;
} else {
std::cout << "*** Would be invalid, " << card2 << " is not a valid card." << std::endl;
}
} else {
std::cout << "*** Would be invalid, " << card1 << " is not a valid card." << std::endl;
}
// Return -1 to indicate an error or invalid input
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2N0eXBlPgoKaW50IGNhbGN1bGF0ZUJsYWNramFja1Njb3JlKGNoYXIgY2FyZDEsIGNoYXIgY2FyZDIpIHsKICAgIGludCBzY29yZSA9IDA7CgogICAgY2FyZDEgPSB0b3VwcGVyKGNhcmQxKTsKICAgIGNhcmQyID0gdG91cHBlcihjYXJkMik7CgogCiAgICBpZiAoKGNhcmQxID49ICcyJyAmJiBjYXJkMSA8PSAnOScpIHx8IGNhcmQxID09ICdUJyB8fCBjYXJkMSA9PSAnSycgfHwgY2FyZDEgPT0gJ1EnIHx8IGNhcmQxID09ICdKJyB8fCBjYXJkMSA9PSAnQScpIHsKICAgICAgICBpZiAoKGNhcmQyID49ICcyJyAmJiBjYXJkMiA8PSAnOScpIHx8IGNhcmQyID09ICdUJyB8fCBjYXJkMiA9PSAnSycgfHwgY2FyZDIgPT0gJ1EnIHx8IGNhcmQyID09ICdKJyB8fCBjYXJkMiA9PSAnQScpIHsKCiAgICAgICAgICAgIGlmIChjYXJkMSA+PSAnMicgJiYgY2FyZDEgPD0gJzknKSB7CiAgICAgICAgICAgICAgICBzY29yZSArPSBjYXJkMSAtICcwJzsgIAogICAgICAgICAgICB9IGVsc2UgaWYgKGNhcmQxID09ICdUJyB8fCBjYXJkMSA9PSAnSycgfHwgY2FyZDEgPT0gJ1EnIHx8IGNhcmQxID09ICdKJykgewogICAgICAgICAgICAgICAgc2NvcmUgKz0gMTA7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2FyZDEgPT0gJ0EnKSB7CiAgICAgICAgICAgICAgICBzY29yZSArPSAxMTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGNhcmQyID49ICcyJyAmJiBjYXJkMiA8PSAnOScpIHsKICAgICAgICAgICAgICAgIHNjb3JlICs9IGNhcmQyIC0gJzAnOyAKICAgICAgICAgICAgfSBlbHNlIGlmIChjYXJkMiA9PSAnVCcgfHwgY2FyZDIgPT0gJ0snIHx8IGNhcmQyID09ICdRJyB8fCBjYXJkMiA9PSAnSicpIHsKICAgICAgICAgICAgICAgIHNjb3JlICs9IDEwOwogICAgICAgICAgICB9IGVsc2UgaWYgKGNhcmQyID09ICdBJykgewoKICAgICAgICAgICAgICAgIGlmIChjYXJkMSA9PSAnQScpIHsKICAgICAgICAgICAgICAgICAgICBzY29yZSArPSAxOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBzY29yZSArPSAxMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHNjb3JlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiKioqIFdvdWxkIGJlIGludmFsaWQsICIgPDwgY2FyZDIgPDwgIiBpcyBub3QgYSB2YWxpZCBjYXJkLiIgPDwgc3RkOjplbmRsOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICIqKiogV291bGQgYmUgaW52YWxpZCwgIiA8PCBjYXJkMSA8PCAiIGlzIG5vdCBhIHZhbGlkIGNhcmQuIiA8PCBzdGQ6OmVuZGw7CiAgICB9CgogICAgLy8gUmV0dXJuIC0xIHRvIGluZGljYXRlIGFuIGVycm9yIG9yIGludmFsaWQgaW5wdXQKICAgIHJldHVybiAwOwp9