alarm
Задайте вопрос
Информатика
Dum

Написать программу на С++ Август и Беатриса играют в игру. Август загадал натуральное число от 1 до n. Беатриса пытается угадать это число, для этого она называет некоторые множества натуральных чисел. Август отвечает Беатрисе YES, если среди названных ей чисел есть задуманное или NO в противном случае. После нескольких заданных вопросов Беатриса запуталась в том, какие вопросы она задавала и какие ответы получила и просит вас помочь ей определить, какие числа мог задумать Август. В первой строке задано n - максимальное число, которое мог загадать Август. Далее каждая строка содержит вопрос Беатрисы (множество чисел, разделенных пробелом) и ответ Августа на этот вопрос. Вы должны вывести через пробел, в порядке возрастания, все числа, которые мог задумать Август.

ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:

#include <iostream>

#include <set>

#include <sstream>

#include <algorithm>

using namespace std;

int main(){

int n, num;

string line;

cout << "n = "; cin >> n;

set <int> yes;

set <int> no;

stringstream ss;

while(1) {

ss. clear();

getline(cin, line);

if(line != "HELP" && line != "YES" && line != "NO") {

ss << line;

continue;

}

if(line == "HELP") break;

if(line == "YES") {

while(ss >> num) {

yes. insert(num);

}

continue;

}

if(line == "NO") {

while(ss >> num) {

no. insert(num);

}

continue;

}

}

set <int> result;

set_difference(yes. begin(), yes. end(), no. begin(), no. end(), inserter(result, result. begin()));

for(auto it = result. begin(); it != result. end(); it++) {

cout << *it << " ";

}

return 0;

}

Дайте "лучший " если решение правильное, пожалуйста, у меня уже 1000 из 500 баллов но не могу набрать 5 лучших ов

80
moderate
Чтобы ответить необходимо зарегистрироваться.

Другие вопросы: - Информатика

Паскаль посчитайте решить,

C++. Степень.Для того чтобы пров

Найдите произведение чисел кратн

Считайте целые числа m и n (m &l

Значение арифметического выражен

Информатики, посчитайте (。•̀

Контакты
Реклама на сайте