Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < bits / stdc++.h >
- using namespace std;
- int main() {
- string key[] = {
- "1234567890",
- "qwertyuiop",
- "asdfghjkl",
- "zxcvbnm"
- };
- string num[] = {
- "!@#$%^&()",
- "?~|R_-+*/="
- };
- string str;
- getline(cin >> ws, str);
- int len = str.length(), curX = 1, page1 = 1, page2 = 0, p1 = 0, p2 = 0, secX, secY, flag = 0, i, j, tempX, tempY, time = 0;
- for (i = 0; i < len; i++) {
- flag = 0;
- p1 = 0;
- p2 = 0;
- for (j = 0; j < 4; j++) {
- int t = key[j].find(str[i]);
- if (t >= 0) {
- flag = 1;
- tempX = j + 1;
- tempY = t + 1;
- p1 = 1;
- break;
- }
- }
- if (!flag) {
- for (j = 0; j < 2; j++) {
- int t = num[j].find(str[i]);
- if (t >= 0) {
- tempX = j + 1;
- tempY = t + 1;
- p2 = 1;
- break;
- }
- }
- }
- if (p1) {
- if (page1 == 0) {
- time++;
- if (tempX != 1)
- time++;
- time += tempY - 1;
- } else {
- if (tempX != curX) {
- time += tempY;
- }
- }
- curX = tempX;
- page1 = 1;
- page2 = 0;
- } else {
- if (page2 == 0) {
- time++;
- if (tempX == 2)
- time++;
- time += tempY - 1;
- } else {
- if (tempX != curX) {
- time += tempY;
- }
- }
- curX = tempX;
- page2 = 1;
- page1 = 0;
- }
- }
- cout << time;
- return 0;
- }
Add Comment
Please, Sign In to add comment