社区讨论
有大佬可以看下错在哪里吗,0分,本地跑例子没什么问题。
P2670[NOIP 2015 普及组] 扫雷游戏参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo7u96uj
- 此快照首次捕获于
- 2023/10/27 07:51 2 年前
- 此快照最后确认于
- 2023/10/27 07:51 2 年前
package main
import "fmt"
func main() {
n, m := 0, 0
fmt.Scanf("%d", &n)
fmt.Scanf("%d", &m)
bys := make([][]byte, n)
for i := 0; i < n; i++ {
bys[i] = make([]byte, m)
}
fmt.Scanln()
for i := 0; i < n; i++ {
for j := 0; j < m; j++ {
fmt.Scanf("%c", &bys[i][j])
}
fmt.Scanln()
}
CPPidx := [][]int{{-1, -1}, {-1, 0}, {0, -1}, {1, -1}, {-1, 1}, {1, 1}, {1, 0}, {0, 1}}
check := func(i, j int) bool {
if i >= 0 && i < n && j >= 0 && j < m {
return true
}
return false
}
cnt := func(i, j int) int {
sum := 0
for _, v := range idx {
l, r := v[0]+i, v[1]+j
if check(l, r) && bys[l][r] == '*' {
sum++
}
}
return sum
}
for i := 0; i < n; i++ {
for j := 0; j < m; j++ {
if bys[i][j] == '?' {
bys[i][j] = byte(cnt(i, j) + '0')
}
}
}
for i := 0; i < n; i++ {
for j := 0; j < m; j++ {
fmt.Printf("%c", bys[i][j])
}
fmt.Println()
}
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...