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
}

