結果
問題 | No.346 チワワ数え上げ問題 |
ユーザー |
![]() |
提出日時 | 2016-09-11 09:52:18 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 703 bytes |
コンパイル時間 | 11,178 ms |
コンパイル使用メモリ | 225,884 KB |
実行使用メモリ | 6,816 KB |
最終ジャッジ日時 | 2024-11-17 00:18:13 |
合計ジャッジ時間 | 12,674 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
package main import ( "fmt" "os" "bufio" ) func main() { in_s := gets() in_r := []rune(in_s) ans_sum := 0 w_num := 0 for i := len(in_r) -1; i >= 0; i-- { if in_r[i] == []rune("w")[0] { w_num += 1 } if in_r[i] == []rune("c")[0] { // Cまでの位置で、Wが何回出るかをカウントして、出た数のnC2だけ組み合わせがある。それを累積する ans_sum += w_num * (w_num - 1)/2 } } fmt.Println(ans_sum) } var rdr = bufio.NewReaderSize(os.Stdin, 10000000) func gets() string { buf := make([]byte, 0, 10000000) for { l, p, _ := rdr.ReadLine() buf = append(buf, l...) if !p { break } } return string(buf) }