4656 | 2023-03-30 14:38:13 | TortelliniJr | Váltakozó (75 pont) | csharp | Forditási hiba |
using System;
// Fisher-Yates shuffle algorithm
static void Shuffle(char[] array)
{
Random rand = new Random();
for (int i = array.Length - 1; i > 0; i--)
{
int j = rand.Next(i + 1);
char temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
class Program {
static void Main(string[] args) {
string text = Console.ReadLine();
int n = text.Length;
// Ellenőrizzük, hogy van-e két egymás melletti azonos karakter
for (int i = 0; i < n - 1; i++) {
if (text[i] == text[i + 1]) {
Console.WriteLine("-1");
return;
}
}
// Összekeverjük a szöveg karaktereit
char[] shuffledText = Shuffle(text);
// Az eredmény sztringje
string result = "";
// Hozzáadjuk az első karaktert az eredmény sztringjéhez
result += shuffledText[0];
// Végigmegyünk a szövegen és hozzáadjuk a karaktereket az eredmény sztringjéhez
for (int i = 1; i < n; i++) {
char lastChar = result[result.Length - 1];
char nextChar = '\0';
// Kiválasztjuk a legkisebb olyan karaktert, amely még nem szerepel az eredmény sztringjében, és amely eltér az utolsó hozzáadott karaktertől
for (int j = 0; j < n; j++) {
if (shuffledText[j] != lastChar && !result.Contains(shuffledText[j].ToString())) {
nextChar = shuffledText[j];
break;
}
}
// Ha nem találtunk ilyen karaktert, akkor nem lehet váltakozó szöveg
if (nextChar == '\0') {
Console.WriteLine("-1");
return;
}
// Hozzáadjuk a következő karaktert az eredmény sztringjéhez
result += nextChar;
}
Console.WriteLine(result);
}
}
exit status 1
Compilation failed: 1 error(s), 0 warnings
main.cs(3,7): error CS1525: Unexpected symbol `void', expecting `class', `delegate', `enum', `interface', `partial', `ref', or `struct'
Exited with error status 1