NC204379. 老铁,安排上了!
描述
输入描述
老铁,每行安排了一些小写字母和数字!
输出描述
老铁,每行给安排个数字!
示例1
输入:
abc 123 abc123
输出:
6 9 15
C++14(g++5.4) 解法, 执行用时: 517ms, 内存消耗: 996K, 提交时间: 2020-04-02 09:59:05
#include <bits/stdc++.h> using namespace std; int a[27]={1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4}; int b[11]={1,1,4,4,4,4,4,5,4,5}, r; int main() { for(string s; cin >> s; printf("%d\n", r), r = 0) for(int i = 0; i < s.size(); i ++) if(isdigit(s[i])) r += b[s[i] - '0']; else r += a[s[i] - 'a']; }
C++11(clang++ 3.9) 解法, 执行用时: 494ms, 内存消耗: 612K, 提交时间: 2020-04-02 12:17:46
#include<bits/stdc++.h> using namespace std; int a[27]={1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4}; int b[11]={1,1,4,4,4,4,4,5,4,5},r; int main() { for(string s;cin>>s;printf("%d\n",r),r=0) for(int i=0;i<s.size();i++) if(isdigit(s[i])) r+=b[s[i]-'0']; else r+=a[s[i]-'a']; }