4653 | 2023-03-30 14:35:33 | TortelliniJr | Váltakozó (75 pont) | csharp | Forditási hiba |
using System;
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(17,31): error CS0103: The name `Shuffle' does not exist in the current context
Exited with error status 1