← Home
For problem statement at 1000-1999/1100-1199/1170-1179/1172/problemD.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1170-1179/1172/verifierD.go ends with oracle runtime error: exec: "oracleD": executable file not found in $PATH
exit status 1 can you fix the verifier? package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var n int
	fmt.Fscan(in, &n)

	r := make([]int, n+1)
	c := make([]int, n+1)
	posR := make([]int, n+1)
	posC := make([]int, n+1)

	for i := 1; i <= n; i++ {
		fmt.Fscan(in, &r[i])
		posR[r[i]] = i
	}
	for i := 1; i <= n; i++ {
		fmt.Fscan(in, &c[i])
		posC[c[i]] = i
	}

	ans := make([][4]int, 0, n)

	for k := 1; k <= n; k++ {
		a := posR[k]
		b := posC[k]

		if !(a == k && b == k) {
			ans = append(ans, [4]int{k, b, a, k})
		}

		if a != k {
			v := r[k]
			r[a] = v
			posR[v] = a
		}
		if b != k {
			v := c[k]
			c[b] = v
			posC[v] = b
		}
	}

	fmt.Fprintln(out, len(ans))
	for _, p := range ans {
		fmt.Fprintln(out, p[0], p[1], p[2], p[3])
	}
}