結果
| 問題 |
No.197 手品
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 2019-03-08 12:27:21 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 919 bytes |
| コンパイル時間 | 10,472 ms |
| コンパイル使用メモリ | 222,420 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-06-23 14:59:32 |
| 合計ジャッジ時間 | 11,793 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 35 WA * 8 |
ソースコード
package main
import (
"fmt"
"strings"
)
func main() {
var sb, sa string
var n int
_, _ = fmt.Scan(&sb, &n, &sa)
if strings.Count(sb, "o") != strings.Count(sa, "o") { // 数が変わってるなら成功
fmt.Println("SUCCESS")
return
}
if sa != sb { // 違いがあって
if sb[1] == sa[1] { // 真ん中が一致なら2手、不一致なら1手で正しい位置にできる
n -= 2
} else {
n -= 1
}
}
if n < 0 { // 元に戻したときに移動可能な手数がマイナスなら成功
fmt.Println("SUCCESS")
return
}
switch strings.Count(sb, string(sb[1])) { // 真ん中の文字の個数
case 1: // 両端が一致し、真ん中だけ違う
if n%2 == 0 {
fmt.Println("FAILURE")
} else {
fmt.Println("SUCCESS")
}
case 2: // 右2つか、左2つが一致し、残りの1つが違う
fmt.Println("FAILURE")
case 3: // 全部一緒
fmt.Println("FAILURE")
}
}
tsuchinaga