← Home
For problem statement at 0-999/300-399/340-349/347/problemB.txt this is a correct solution, but verifier at 0-999/300-399/340-349/347/verifierB.go ends with All 13 tests passed can you fix the verifier? package main

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

func main() {
	reader := bufio.NewReader(os.Stdin)
	var n int
	if _, err := fmt.Fscan(reader, &n); err != nil {
		return
	}
	a := make([]int, n)
	c := 0
	for i := 0; i < n; i++ {
		fmt.Fscan(reader, &a[i])
		if a[i] == i {
			c++
		}
	}
	if c == n {
		fmt.Println(n)
		return
	}
	for i := 0; i < n; i++ {
		if a[i] != i && a[a[i]] == i {
			fmt.Println(c + 2)
			return
		}
	}
	fmt.Println(c + 1)
}