Submission
Status:
[PP-SSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: 1234
Problemset: สตริงซ้ำซ้ำ
Language: cpp
Time: 0.002 second
Submitted On: 2025-06-01 19:11:38
#include <iostream>
using namespace std;
bool is_all_upper(const char* s) {
for (int i = 0; s[i] != '\0'; ++i)
if (s[i] < 'A' || s[i] > 'Z')
return false;
return true;
}
bool is_all_lower(const char* s) {
for (int i = 0; s[i] != '\0'; ++i)
if (s[i] < 'a' || s[i] > 'z')
return false;
return true;
}
int main() {
char str1[21], str2[21];
cin >> str1 >> str2;
bool upper_mode = is_all_upper(str1) && is_all_upper(str2);
bool lower_mode = is_all_lower(str1) && is_all_lower(str2);
bool in_str1[26] = {false};
bool in_str2[26] = {false};
for (int i = 0; str1[i] != '\0'; ++i) {
char ch = str1[i];
if (ch >= 'A' && ch <= 'Z') ch = ch - 'A' + 'a';
in_str1[ch - 'a'] = true;
}
for (int i = 0; str2[i] != '\0'; ++i) {
char ch = str2[i];
if (ch >= 'A' && ch <= 'Z') ch = ch - 'A' + 'a';
in_str2[ch - 'a'] = true;
}
for (int i = 0; i < 26; ++i) {
if (in_str1[i] && in_str2[i]) {
char out_char;
if (upper_mode)
out_char = i + 'A';
else
out_char = i + 'a';
cout << out_char << ' ';
}
}
return 0;
}