?
# | Author | Problem | Lang | Verdict | Time | Memory | Sent | Judged | |
---|---|---|---|---|---|---|---|---|---|
115772376 |
Practice: start_code_end |
1B - 9 | C++17 (GCC 7-32) | Runtime error on test 6 | 62 ms | 3672 KB | 2021-05-09 12:08:44 | 2021-05-09 12:08:44 |
#include <bits/stdc++.h> using namespace std; void print_alpnum(string a, long long int pos) { string row, col, col2, fin_col = "", ans = ""; row = a.substr(1,pos-1); col = a.substr(pos+1,a.size()); col2.assign(col); long long int value = stoi(col), power = 0; while (pow(26,power) < value) { power++; } for (long long int i = 0; i < power; i++) { long long int v, temp; char alph; if (value % 26 == 0 && i == 0) { fin_col = fin_col + 'Z'; value = value - 26; } else if (i == 0) { v = value % 26; value = value - v; alph = v-1 + 'A'; fin_col = fin_col + alph; } else { v = value / 26; temp = v % 26; alph = temp-1 + 'A'; fin_col = fin_col + alph; value = v - temp; } } reverse(fin_col.begin(),fin_col.end()); fin_col = fin_col + row; cout << fin_col << endl; } void print_rowcol(string a) { string col = "", row = "R"; long long int row_pos = 0; for (long long int i = 0; isdigit(a[i]) == 0; i++) { col = col + a[i]; if (isdigit(a[i+1]) != 0) { row_pos = i + 1; } } row = row + a.substr(row_pos,a.size()); row = row + 'C'; long long int col_value = 0; for (long long int i = row_pos-1; i >= 0; i--) { long long int ind_val = a[row_pos-1-i] - 'A' + 1; col_value += pow(26,i) * ind_val; } row = row + to_string(col_value); cout << row << endl; } int main() { long long int n; cin >> n; while (n--) { string cell; cin >> cell; if (cell[0] == 'R' || cell[0] == 'C') { long long int pos = cell.find('C'); print_alpnum(cell,pos); } else { print_rowcol(cell); } } }
?
?
?
?