package mainimport fmtfunc main var nxy int64 fmtScanfd&n a=makeint64n+1 b=makeint64n+1 g=makeint64n+1 k=makeint64n+1 for i=1;i=n;i++ fmtScanfd d d d&ai&bi&gi&ki fm
在程序中,您应该使用Scanf函数时传递变量的地址作为参数,而不是变量本身的值。修改代码如下:
package main
import "fmt"
func main() {
var n, x, y int64
fmt.Scanf("%d", &n)
a := make([]int64, n+1)
b := make([]int64, n+1)
g := make([]int64, n+1)
k := make([]int64, n+1)
for i := 1; i <= n; i++ {
fmt.Scanf("%d %d %d %d", &a[i], &b[i], &g[i], &k[i])
}
fmt.Scanf("%d %d", &x, &y)
sum := 0
for i := 1; i <= n; i++ {
if x <= a[i]+g[i] && x >= a[i] && y <= b[i]+k[i] && y >= b[i] {
sum = i
}
}
if sum == 0 {
fmt.Println("-1")
} else {
fmt.Println(sum)
}
}
这样就可以正确读取输入并打印结果了
原文地址: https://www.cveoy.top/t/topic/hLN8 著作权归作者所有。请勿转载和采集!