Анаграми#2166

Анаграми (Розбір)

Відсортуємо букви в кожному слові в лексикографічному порядку. Якщо отримані слова співпадуть, то початкові слова складаються з однакових букв і, відповідно, є анаграмами.

Реалізація алгоритму

Оголосимо робочі рядки і .

string s, q;

Читаємо вхідні рядки.

cin >> s;
cin >> q;

Сортуємо букви в кожному рядку.

sort(s.begin(),s.end());
sort(q.begin(),q.end());

Порівнюємо отримані рядки і виводимо відповідь.

if (s == q) puts("YES"); else puts("NO");

Java реалізація


import java.util.*;

public class Main
{
  public static void main(String[] args)
  {
    Scanner con = new Scanner(System.in);
    char[] s = con.nextLine().toCharArray();
    char[] q = con.nextLine().toCharArray();

    Arrays.sort(s);
    Arrays.sort(q);

    if (Arrays.equals(s, q))
      System.out.println("YES");
    else 
      System.out.println("NO");
    
   con.close();    
  }
}

Python реалізація

Читаємо вхідні рядки.

l1 = list(input())
l2 = list(input())

Сортуємо букви в кожному рядку.

l1.sort()
l2.sort()

Порівнюємо отримані рядки і виводимо відповідь.

if l1 == l2:
  print('YES')
else:
  print('NO')