AtCoder精選問題 Go言語
https://atcoder.jp/contests/abc086/tasks/abc086_a
package main import "fmt" func main(){ var a,b int fmt.Scan(&a, &b) if a*b%2 == 0{ fmt.Println("Even") }else{ fmt.Println("Odd") } }
https://atcoder.jp/contests/abc081/tasks/abc081_a
package main import ( "fmt" ) func main() { var s string var ans int = 0 fmt.Scan(&s) for i := 0; i < 3; i++ { if s[i] == '1' { ans++ } } fmt.Println(ans) }
https://atcoder.jp/contests/abc081/tasks/abc081_b
package main import ( "fmt" ) func main() { var n int fmt.Scan(&n) ans := 1000000000 for i := 0; i < n; i++ { var a int fmt.Scan(&a) var rec int = 0 for a >= 1 && a%2 == 0 { a = a / 2 rec++ } if ans > rec { ans = rec } } fmt.Println(ans) }
https://atcoder.jp/contests/abc087/tasks/abc087_b
package main import "fmt" func main() { var a, b, c int fmt.Scan(&a, &b, &c) var x int fmt.Scan(&x) ans := 0 for i := 0; i <= a; i++ { for j := 0; j <= b; j++ { for k := 0; k <= c; k++ { if 500*i+100*j+50*k == x { ans++ } } } } fmt.Println(ans) }
https://atcoder.jp/contests/abc083/tasks/abc083_b
package main import "fmt" func main() { var n, a, b int fmt.Scan(&n, &a, &b) ans := 0 for i := 1; i <= n; i++ { t := i rec := 0 for t >= 1 { rec += t % 10 t /= 10 } if a <= rec && rec <= b { ans += i } } fmt.Println(ans) }
https://atcoder.jp/contests/abc088/tasks/abc088_b
package main import ( "fmt" "sort" ) func main() { var n int fmt.Scan(&n) a := make([]int, n) for i := 0; i < n; i++ { fmt.Scan(&a[i]) } sort.Sort(sort.Reverse(sort.IntSlice(a))) var t, u int for i := 0; i < n; i++ { if i%2 == 1 { t += a[i] } else { u += a[i] } } fmt.Println(u - t) }
https://atcoder.jp/contests/abc085/tasks/abc085_b
package main import ( "fmt" "sort" ) func main() { var n int fmt.Scan(&n) a := make([]int, n) for i := 0; i < n; i++ { fmt.Scan(&a[i]) } sort.Sort(sort.Reverse(sort.IntSlice(a))) var ans int = 1 var b int = a[0] for i := 1; i < n; i++ { if b > a[i] { b = a[i] ans++ } } fmt.Println(ans) }
https://atcoder.jp/contests/abc085/tasks/abc085_c
package main import ( "fmt" ) func main() { var n int var y int fmt.Scan(&n) fmt.Scan(&y) for i := 0; i <= n; i++ { for j := 0; j+i <= n; j++ { if 10000*i+5000*j+1000*(n-i-j) == y { fmt.Println(i, j, n-i-j) return } } } fmt.Println(-1, -1, -1) }
https://atcoder.jp/contests/abc049/tasks/arc065_a
package main import ( "fmt" "strings" ) func main() { var s string fmt.Scan(&s) s = strings.Replace(s, "dream", "A", -1) s = strings.Replace(s, "erase", "B", -1) s = strings.Replace(s, "Aer", "", -1) s = strings.Replace(s, "Br", "", -1) s = strings.Replace(s, "A", "", -1) s = strings.Replace(s, "B", "", -1) if s == "" { fmt.Println("YES") } else { fmt.Println("NO") } }
https://atcoder.jp/contests/abc086/tasks/arc089_a
package main import ( "fmt" "math" ) func main() { var n int fmt.Scan(&n) t := make([]int, n) x := make([]int, n) y := make([]int, n) for i := 0; i < n; i++ { fmt.Scan(&t[i], &x[i], &y[i]) } flag := true for i := 0; i < n; i++ { if t[i] >= x[i]+y[i] && t[i]%2 == (x[i]+y[i])%2 { if i >= 1 { if (int(math.Abs(float64(t[i]-t[i-1])))) < (int(math.Abs(float64(x[i]-x[i-1])))) + (int(math.Abs(float64(y[i]-y[i-1])))) { flag = false } } } else { flag = false } } if flag { fmt.Println("Yes") } else { fmt.Println("No") } }