12345678910111213141516171819202122232425262728293031323334 |
- package main
- import "fmt"
- func main() {
- var N int
- fmt.Scan(&N)
- for cid := 0; cid < N; cid++ {
- var s string
- fmt.Scan(&s)
- str := []rune(s)
- for i := 0; i < len(str)-2; i++ {
- if aaa(str, i) {
- str = append(str[:i], str[i+1:]...)
- i--
- } else if aabb(str, i) {
- str = append(str[:i+3], str[i+4:]...)
- i--
- }
- }
- fmt.Println(string(str))
- }
- }
- func aaa(str []rune, i int) bool {
- return str[i] == str[i+1] && str[i+1] == str[i+2]
- }
- func aabb(str []rune, i int) bool {
- if len(str) <= i+3 {
- return false
- }
- return str[i] == str[i+1] && str[i+1] != str[i+2] && str[i+2] == str[i+3]
- }
|