STROJOPIS

[COCI2014-2015#3] STROJOPIS

题目描述

正确的打字正成为文化的重要组成部分。如果你仍然没有使用所有的十根手指来打字,你必须重新学习打字——然后你会打字更快,感觉更舒适和愉快。

有很多网站教你正确打字。下图描述了基本原理:用同一个指针按所需的键是同一颜色的。黄色键需要用小指按下,蓝色键需要用无名指,绿色键需要用中指,红色键需要用食指。自然,左手按键盘的左侧(从 5TGB 开始向左的键),右手按右侧(从 6YHN 开始向右的键),拇指负责空格。

您的任务是输出每根手指(拇指除外)正确输入给定字符串的分别按下的次数。

输入格式

仅一行一个字符串 s s s。字符串不包含空格,只包含上面图像中包含的字符。

输出格式

输出必须由八行组成,每行一个整数,表示从左到右观察到的每个手指的按键次数(拇指除外)。

样例 #1

样例输入 #1

AON=BOO;

样例输出 #1

1
0
0
1
1
0
3
2

样例 #2

样例输入 #2

PRINT'NY'[NASLA]

样例输出 #2

2
1
0
2
4
1
1
5

样例 #3

样例输入 #3

VIDI,KO,JE,DOSA

样例输出 #3

1
1
3
1
1
6
2 
0

提示说明

数据规模与约定

∣ s ∣ |s| s 表示输入字符串的长度,则对于 100 % 100\% 100% 的数据,有 1 ≤ ∣ s ∣ ≤ 50 1\le |s|\le 50 1s50

代码内容

// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
ll ans[9];
map <char,ll> ds;
#define f(a,b) ds[a]=b

int main()
{
    //左小指
    f('1',1);f('Q',1);f('A',1);f('Z',1);
    //左无名指
    f('2',2);f('W',2);f('S',2);f('X',2);
    //左中指
    f('3',3);f('E',3);f('D',3);f('C',3);
    //左食指
    f('4',4);f('R',4);f('F',4);f('V',4);f('5',4);f('T',4);f('G',4);f('B',4);
    //右食指
    f('6',5);f('Y',5);f('H',5);f('N',5);f('7',5);f('U',5);f('J',5);f('M',5);
    //右中指
    f('8',6);f('I',6);f('K',6);f(',',6);
    //右无名指
    f('9',7);f('O',7);f('L',7);f('.',7);
    //右小指
    f('0',8);f('-',8);f('=',8);f('P',8);f('[',8);f(']',8);f(';',8);f('\'',8);f('/',8);
    
    string s;
    cin>>s;
    
    for(auto c:s)
        ans[ds[c]]++;
    
    for(int i=1;i<=8;i++)
        cout<<ans[i]<<endl;
    
    return 0;
}


 
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pretty Boy Fox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值