結果
| 問題 | No.290 1010 | 
| コンテスト | |
| ユーザー |  hama_du | 
| 提出日時 | 2015-11-22 00:44:00 | 
| 言語 | Go (1.23.4) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 8 ms / 5,000 ms | 
| コード長 | 993 bytes | 
| コンパイル時間 | 11,550 ms | 
| コンパイル使用メモリ | 226,632 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-10 20:13:16 | 
| 合計ジャッジ時間 | 12,516 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 24 | 
ソースコード
package main
import (
	"fmt"
	"bufio"
	"os"
	"strconv"
	"io"
)
func main() {
	n := nextInt()
	s := nextString(n+10)
	L := -1
	for i := 0 ; i < n-1 ; i++ {
		if s[i] == s[i+1] {
			L = i
			break
		}
	}
	if L == -1 {
		if n <= 3 {
			fmt.Println("NO")
		} else {
			fmt.Println("YES")
		}
	} else {
		fmt.Println("YES")
	}
}
//====
var rdr = bufio.NewReader(os.Stdin)
func nextInt() int {
	i, e := strconv.Atoi(readToken(20))
	if e != nil {
		panic(e)
	}
	return i
}
func nextString(limit int) string {
	return readToken(limit)
}
func readToken(limit int) string {
	buf := make([]byte, 0, limit)
	for {
		byte, err := rdr.ReadByte()
		if err != nil {
			if err == io.EOF {
				break
			}
		}
		if byte != 10 && byte != 13 && byte != 32 {
			buf = append(buf, byte)
			break
		}
	}
	for {
		byte, err := rdr.ReadByte()
		if err != nil {
			if err == io.EOF {
				break
			}
		}
		if byte == 10 || byte == 13 || byte == 32 {
			break
		}
		buf = append(buf, byte)
	}
	return string(buf)
}
            
            
            
        