Цікава забава Юри#8324

Цікава забава Юри (Розбір)

В задачі слід промоделювати роботу з множиною set. Нехай — число, задумане Юрою. Якщо уже присутнє в множині, виводимо "Yes" і розмір множини. Інакше додаємо до множини, виводимо "No" і розмір множини.

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

Оголосимо множину .

set<int> s;

Зчитаємо кількість запитів .

scanf("%d",&n);

Послідовно обробляємо запитів.

for(i = 1; i <= n; i++)
{

Зчитаємо число , яке задумав Юра.

  scanf("%d",&x);

Якщо числа немає в множині , то заносимо його туди, виводимо "No" і потужність множини.

  if(s.find(x) == s.end())
  {
    s.insert(x);
    printf("No %d\n",s.size());
  }
  else

Якщо число присутнє в множині , то виводимо "Yes" і потужність множини.

    printf("Yes %d\n",s.size());
}

Java реалізація

import java.util.*;
 
public class Main
{
  public static void main(String[] args)
  {
    Scanner con = new Scanner(System.in);
    TreeSet<Integer> s = new TreeSet<Integer>();
 
    int n = con.nextInt();
    for(int i = 0; i < n; i++)
    {
      int x = con.nextInt();
      if (s.contains(x))
        System.out.println("Yes " + s.size());
      else
      {
        s.add(x);
        System.out.println("No " + s.size());
      }
    }
    con.close();
  }
}   

Python реалізація

Зчитаємо кількість запитів .

n = int(input())

Оголосимо множину .

s = set()

Послідовно обробляємо запитів.

for _ in range(n):

Зчитаємо число , яке задумав Юра.

  x = int(input())

Якщо число присутнє в множині , то виводимо "Yes".

  if x in s:
    print("Yes", end = ' ')
  else:

Якщо числа немає в множині , то заносимо його туди і виводимо "No".

    s.add(x)
    print("No", end = ' ')

Після повідомлення "Yes" або "No" виводимо потужність множини.

  print(len(s))