Хитре сортування
По моему сэмпл не правильный.... >>упорядочить эти числа по невозрастанием >>последней цифры но в примере: 20 1...
А в чем проблема решения #650400. На компьютере все работает
Шановні адміни!! Підправте або тести або умову:
а ДРУГИЙ(!!!) самі числа – натуральні
в умові вказано що в другому рядку находяться всі числа послідовності, що є не так, я це зрозумів після 8го сабміту. для С++ і Паскаль не проблема, для C# i Java - проблема.
Добрий день. Виникло питання, чому не проходить розв'язок 2288986 на C#, і з легкістю проходить аналогічний розв'язок 2290170 на С++?
Thanks for idea. raul2008487
c# - 100%
using System; using System.Collections.Generic; namespace ConsoleApp1 { internal class Program { static void Main() { int n = int.Parse(Console.ReadLine()); List<int> list = new List<int>(); for (int i = 0; i < n; i++) { list.Add(int.Parse(Console.ReadLine())); }
list.Sort((x, y) =>
{
int c = x.ToString().Substring(x.ToString().Length - 1, 1).CompareTo(y.ToString().Substring(y.ToString().Length - 1, 1));
if (c == 0)
c = x.CompareTo(y);
return c;
});
Console.WriteLine(string.Join(" ", list));
Console.ReadKey();
}
}
}
include <bits/stdc++.h>
using namespace std;
typedef struct Nums { int x; bool operator<(Nums &n) { if(x % 10 != n.x % 10) return x % 10 < n.x % 10; else return x < n.x; } }Nums;
int main() { vector<Nums>v; int n, x; cin >> n; Nums num; for(int i = 0; i < n; i++) { cin >> x; num = {x}; v.emplace_back(num); }
sort(v.begin(), v.end());
for(auto &item : v)
{
cout << item.x << " ";
}
return 0;
}