玩游戏

来源:互联网 发布:mac 照片排序 编辑:程序博客网 时间:2024/04/28 13:14
SubmitStatistic

Problem Description

小埋最近肝上了 lovelive~可谓是沉迷游戏不能自拔,诺现在都变成了这种状态:

我们现在把问题简化一下,假设小埋只需要↑↓←→↖↗↙↘滑动。

现在你来统计一下小埋各种方向滑了多少次吧。

Input

输入数据有多组(数据组数不超过 100),到 EOF 结束。

每组数据为一串字符串(长度不超过 300)。

字符串中只包含 ‘U’,‘D’,‘L’,‘R’,‘_’ 这5种字符。

其中 U 代表上滑,D 代表下滑,L 代表左滑,R 代表右滑,LU 代表左上滑,RU 代表右上滑,LD 代表左下滑,RD 代表右下滑。每种动作只有这一种表示形式。每两个动作之间必定有‘_’相隔。

Output

每组输出为以空格相隔的 8 个整数,分别代表需要做上滑,下滑,左滑,右滑,左上滑,右上滑,左下滑,右下滑的动作数,每组输出占一行。

Example Input

U__L__D_______R__RU___LD______U_R___

Example Output

2 1 1 2 0 1 1 0
 

#include<stdio.h>#include<string.h>

int main(){    char str[8][3]={"U_","D_","L_","R_","LU","RU","LD","RD"};    char st[306];    int a[8]={0};    int i,j,k,len,flag;    while(gets(st))    {        flag=0;        memset(a,0,sizeof(a));        len=strlen(st);        for(i=0;i<len;i++)        {            flag=0;            for(j=0;j<8;j++)            {                if(str[j][0]==st[i]&&str[j][1]==st[i+1])                {                    k=j;                    if(k>=4)                        flag=1;                    else                        flag=0;                    a[k]++;                    if(flag=1)                        i++;                    break;                }                else                    continue ;            }        }        for(i=0;i<8;i++)        {            if(i!=7)                printf("%d ",a[i]);            else                printf("%d\n",a[i]);        }    }    return 0;}

 

0 0