Hướng dẫn giải của Địa chỉ hợp lệ
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người làm lời giải.
Nộp code mẫu trước khi tự giải được bài tập là một hành vi có thể bị ban.
Tác giả:
Ý tưởng
- Có thể tách thành hai xâu như đề bài mô tả hoặc làm trên cùng một xâu đều được.
- Lưu ý kí tự đầu tiên của xâu trước kí tự
@khi xử lí.
Code tham khảo
#include<bits/stdc++.h> using namespace std; string s; void input() { cin >> s; } void solve() { bool ok = true, Fi = true; for(int i = 0; i < int(s.size()); ++i) { if(s[i] == '@') { ok = false; cout << s[i]; } if((s[i] < 'a' || s[i] > 'z') && (s[i] < 'A' || s[i] > 'Z') && (s[i] < '0' || s[i] > '9')) continue; if(ok) { if(Fi && s[i] >= '0' && s[i] <= '9') { s[i] = char(int(s[i]) - 48 + int('a') - 1); } } else { if(s[i] >= '0' && s[i] <= '9') s[i] = char(int(s[i]) - 48 + int('a') - 1); if(s[i] >= 'A' && s[i] <= 'Z') s[i] = char(int(s[i]) + 32); } Fi = false; cout << s[i]; } } int main() { input(); solve(); return 0; }
Bình luận