結果
| 問題 | 
                            No.509 塗りつぶしツール
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2017-04-29 16:55:34 | 
| 言語 | Go  (1.23.4)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 672 bytes | 
| コンパイル時間 | 11,185 ms | 
| コンパイル使用メモリ | 226,804 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-09-13 22:52:53 | 
| 合計ジャッジ時間 | 12,095 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 27 | 
ソースコード
package main
import (
	"fmt"
)
func holeNum(s string) (cnt int) {
	//	文字の中の背景 => black
	for _, v := range s {
		switch v {
		case '1', '2', '3', '5', '7':
			cnt += 0
		case '0', '4', '6', '9':
			cnt += 1
		case '8':
			cnt += 2
		}
	}
	return
}
func pt1(s string) (cnt int) {
	cnt += len(s) //	文字=>other
	cnt++         //	背景 => black
	cnt += holeNum(s)
	cnt += len(s) //	文字=> white
	return
}
func pt2(s string) (cnt int) {
	cnt++
	cnt += holeNum(s)
	cnt += len(s)
	cnt++
	cnt += holeNum(s)
	return
}
func main() {
	var s string
	fmt.Scan(&s)
	cnt1 := pt1(s)
	cnt2 := pt2(s)
	cnt := cnt1
	if cnt1 > cnt2 {
		cnt = cnt2
	}
	fmt.Println(cnt)
}