Imports System
Imports System.Collections.Generic
Public Class Program
Public Shared Function canSplitInto4DistinctSubstrings(ByVal str As String) As Boolean
Dim size As Integer = str.Length
If size < 4 Then
Return False
End If
For i As Integer = 1 To size - 2 - 1
For j As Integer = i + 1 To size - 1 - 1
For k As Integer = j + 1 To size - 1
Dim part1 As String = str.Substring(0, i)
Dim part2 As String = str.Substring(i, j - i)
Dim part3 As String = str.Substring(j, k - j)
Dim part4 As String = str.Substring(k, size - k)
If part1.Length > 0 AndAlso part2.Length > 0 AndAlso part3.Length > 0 AndAlso part4.Length > 0 Then
Dim unique_parts As HashSet(Of String) = New HashSet(Of String)()
unique_parts.Add(part1)
unique_parts.Add(part2)
unique_parts.Add(part3)
unique_parts.Add(part4)
If unique_parts.Count = 4 Then
Console.WriteLine(part1 & " " & part2 & " " & part3 & " " & part4)
Return True
End If
End If
Next
Next
Next
Return False
End Function
Public Shared Sub Main(ByVal args As String())
Dim str As String = "AlbusDumbledore"
If canSplitInto4DistinctSubstrings(str) Then
Console.Write("yes")
Else
Console.Write("no")
End If
End Sub
End Class
' run:
'
' A l b usDumbledore
' yes
'