5键键盘的输出

有一个特殊的5键键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。a键在屏幕上输出一个字母a;ctrl-c将当前选择的字母复制到剪贴板;ctrl-x将当前选择的字母复制到剪贴板,并清空选择的字母;ctrl-v将当前剪贴板里的字母输出到屏幕;ctrl-a选择当前屏幕上的所有字母。注意:标题:5键键盘的输出 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限

package main

import (
    "fmt"
)

func main() {
    data := []int{}
    for {
        var tmp uint8
        fmt.Scanf("%c", &tmp)
        if tmp == '\n' {
            break
        }
        if tmp == ' ' {
            continue
        }
        data = append(data, int(tmp-'0'))
    }
    fmt.Println(foo(data)) 
}
func foo(data []int) int {
    res := 0
    tmp := 0
    tmpSelect := 0
    for _, v := range data {
        switch v {
        case 1: 
            if tmpSelect != 0 {
                res -= tmpSelect
                tmpSelect = 0
            }
            res++
            break
        case 2: 
            tmp = tmpSelect
            break
        case 3: 
            tmp = tmpSelect
            res -= tmp
            break
        case 4: 
            if tmpSelect != 0 {
                res -= tmpSelect
                tmpSelect = 0
            }
            res += tmp
            break
        case 5: 
            tmpSelect = res
            break
        }
    }
    return res
}



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务