'I.409 'Békési Péter 9.évfolyam 'Zalaegerszeg, Zalaegerszegi Zrínyi Miklós Gimnázium 'fordítóprogram: Visual Studio 2015 Express, Visual Studio 2013 Express-ben hiba nélkül fordítható Imports System.Console Module Module1 Dim n As Integer Dim a() As Integer Dim b() As Integer Dim c() As Integer Dim temp() As String Dim lista As New List(Of List(Of Integer)) Sub Main() 'Beolvasás n = CInt(Console.ReadLine) ReDim a(n) ReDim b(n) ReDim c(n) For i = 1 To n temp = Console.ReadLine.Split a(i) = CInt(temp(0)) b(i) = CInt(temp(1)) c(i) = CInt(temp(2)) rendez(a(i), b(i), c(i)) Next 'Feldolgozás For i = 1 To n If lista.Count = 0 Then lista.Add(New List(Of Integer)) lista(0).Add(i) ElseIf lista(lista.Count - 1).Count > 1 Then For j = 1 To lista(lista.Count - 1).Count If j > 1 Then If a(i) > a(lista(lista.Count - 1)(j - 1)) And b(i) > b(lista(lista.Count - 1)(j - 1)) And c(i) > c(lista(lista.Count - 1)(j - 1)) And a(i) < a(lista(lista.Count - 1)(j - 2)) And b(i) < b(lista(lista.Count - 1)(j - 2)) And c(i) < c(lista(lista.Count - 1)(j - 2)) Then lista(lista.Count - 1).Insert(j - 1, i) Exit For ElseIf j = lista(lista.Count - 1).Count And a(i) < a(lista(lista.Count - 1)(j - 1)) And b(i) < b(lista(lista.Count - 1)(j - 1)) And c(i) < c(lista(lista.Count - 1)(j - 1)) Then lista(lista.Count - 1).Insert(lista(lista.Count - 1).Count, i) Exit For ElseIf j = lista(lista.Count - 1).Count Then lista.Add(New List(Of Integer)) lista(lista.Count - 1).Add(i) Exit For End If Else If a(i) > a(lista(lista.Count - 1)(j - 1)) And b(i) > b(lista(lista.Count - 1)(j - 1)) And c(i) > c(lista(lista.Count - 1)(j - 1)) Then lista(lista.Count - 1).Insert(j - 1, i) Exit For End If End If Next Else If a(i) > a(lista(lista.Count - 1)(0)) And b(i) > b(lista(lista.Count - 1)(0)) And c(i) > c(lista(lista.Count - 1)(0)) Then lista(lista.Count - 1).Insert(0, i) ElseIf a(i) < a(lista(lista.Count - 1)(0)) And b(i) < b(lista(lista.Count - 1)(0)) And c(i) < c(lista(lista.Count - 1)(0)) Then lista(lista.Count - 1).Insert(1, i) Else lista.Add(New List(Of Integer)) lista(lista.Count - 1).Add(i) End If End If Next 'Kiiratás Console.WriteLine(lista.Count) For i = 0 To lista.Count - 1 For j = 0 To lista(i).Count - 1 Console.Write(lista(i)(j) & " ") Next Console.WriteLine() Next Console.ReadLine() End Sub Sub rendez(ByRef aa As Integer, ByRef bb As Integer, ByRef cc As Integer) Dim t(2) As Integer Dim tt(2) As Integer t(0) = aa t(1) = bb t(2) = cc For j = 0 To 2 For k = 0 To 2 If t(k) = t.Max Then tt(j) = t(k) t(k) = 0 Exit For End If Next Next aa = tt(0) bb = tt(1) cc = tt(2) End Sub End Module