28572023-01-30 15:03:47bencewokVideójátékgolangHibás válasz 0/10026ms34064 KiB
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func input() []int {
	var input string
	var output []int

	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	input = scanner.Text()

	inputSplit := strings.Split(input, " ")

	for i := 0; i < len(inputSplit); i++ {
		charInt, _ := strconv.Atoi(inputSplit[i])
		output = append(output, charInt)
	}

	return output
}

func main() {
	input := input()
	var aBreaks, yBreaks []int
	var boretime, boretimeNow, aLenght, yLenght, output int

	fmt.Println(yLenght)

	//input apprehension
	for i := 0; i < len(input); i++ {
		if i == 0 {
			boretime = input[i]
		} else if i == 1 {
			aLenght = input[i] * 2
		} else if i < aLenght+2 {
			aBreaks = append(aBreaks, input[i])
		} else if i == aLenght+2 {
			yLenght = input[i]
		} else {
			yBreaks = append(yBreaks, input[i])
		}

	}

	//chart creation
	var max int

	for i := 1; i < len(yBreaks); i++ {
		if max < yBreaks[i] {
			max = yBreaks[i]
		}
	}

	for i := 1; i < len(aBreaks); i++ {
		if max < aBreaks[i] {
			max = aBreaks[i]
		}
	}
	charta := make([]int, max)
	charty := make([]int, max)

	//fmt.Println(aBreaks, yBreaks)

	/*
		//chart modification (a)
		swi := 1
		swi = 1
		for i := 0; i < len(aBreaks); i++ {
			charta[aBreaks[i]-1] = charta[aBreaks[i]-1] + swi
			if swi == 1 {
				swi = swi - 2
			} else {
				swi = swi + 2
			}
			fmt.Println(charta)
		}
		//chart modification (y)
		swi = 1
		for i := 0; i < len(yBreaks); i++ {
			charty[yBreaks[i]-1] = charty[yBreaks[i]-1] + swi
			if swi == 1 {
				swi = swi - 2
			} else {
				swi = swi + 2
			}
			fmt.Println(charty)
		}
	*/

	//fmt.Println(charty)

	q, u := 1, 0
	for {

		if q > len(aBreaks) {
			break
		}

		charta[aBreaks[q]-u-1] = 1

		if aBreaks[q]-u == aBreaks[q-1] {
			u = 0
			q = q + 2
		} else {
			u++
		}
		//fmt.Println(charta)
	}

	q, u = 1, 0
	for {
		if q > len(yBreaks) {
			break
		}

		charty[yBreaks[q]-u-1] = 1

		if yBreaks[q]-u == yBreaks[q-1] {
			u = 0
			q = q + 2
		} else {
			u++
		}
		//fmt.Println(charty)
	}

	var index int

	//fmt.Println(charta)
	//fmt.Println(charty)

	for i := 0; i < len(charta); i++ {
		if boretime == boretimeNow {
			index = i
			for charta[index] != 0 {
				charta[index] = 0
				index++
			}
			boretimeNow = 0
		}

		if charta[i] == 1 && charta[i] != charty[i] {
			boretimeNow++
		}

	}

	for i := 0; i < len(charta); i++ {
		if charta[i] == 1 && charta[i] == charty[i] {
			output++
		}
	}

	fmt.Println(charta)
	fmt.Println(charty)

	fmt.Println(output)
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz26ms30024 KiB
2Hibás válasz26ms30632 KiB
subtask20/10
3Hibás válasz25ms30968 KiB
4Hibás válasz25ms30844 KiB
5Hibás válasz25ms31500 KiB
6Hibás válasz21ms31764 KiB
7Hibás válasz21ms31412 KiB
8Hibás válasz21ms31636 KiB
9Hibás válasz26ms32128 KiB
10Hibás válasz24ms32540 KiB
11Hibás válasz21ms32332 KiB
subtask30/20
12Hibás válasz21ms32276 KiB
13Hibás válasz21ms32272 KiB
14Hibás válasz21ms31992 KiB
15Hibás válasz21ms32136 KiB
16Hibás válasz26ms32548 KiB
17Hibás válasz24ms32392 KiB
18Hibás válasz21ms32300 KiB
19Hibás válasz21ms32456 KiB
20Hibás válasz25ms32872 KiB
21Hibás válasz24ms33024 KiB
22Hibás válasz21ms33040 KiB
subtask40/30
23Hibás válasz26ms33180 KiB
24Hibás válasz25ms32992 KiB
25Hibás válasz24ms33104 KiB
26Hibás válasz21ms33476 KiB
27Hibás válasz21ms33524 KiB
28Hibás válasz26ms33580 KiB
29Hibás válasz25ms33908 KiB
30Hibás válasz24ms33940 KiB
31Hibás válasz21ms33860 KiB
subtask50/40
32Hibás válasz21ms33772 KiB
33Hibás válasz21ms33996 KiB
34Hibás válasz25ms34064 KiB
35Hibás válasz24ms34020 KiB
36Hibás válasz25ms33548 KiB
37Hibás válasz24ms34036 KiB
38Hibás válasz21ms33380 KiB
39Hibás válasz21ms33480 KiB
40Hibás válasz26ms33980 KiB
41Hibás válasz24ms33740 KiB