Instrukcje Shuruppaka – Omówienie zadania

Instrukcje Shuruppaka – Omówienie zadania

Szczegółowe omówienie zadania Instrukcje Shuruppaka:

Link do powyższego omówienia zadania Instrukcje Shuruppaka:
https://youtu.be/yrGE7t_AuBQ?t=2034

Link do treści zadania Instrukcje Shuruppaka:
https://szkopul.edu.pl/problemset/problem/is/site


Zadanie Instrukcje Shuruppaka jest typowym zadaniem programistycznym.
Pokazuje wykorzystanie struktury set w C++.
Struktura set przechowuje unikalne, posortowane, wartości bez ineksów:
https://youtu.be/yrGE7t_AuBQ?t=2815


Jak się uczyć na podstawie tego zadania?
https://youtu.be/QgLyXYmFQeU?t=2019
Pamiętaj by zajrzeć max 1 raz – wtedy się rozwijasz:
https://youtu.be/pkLXuuOe_qA?t=3625

====
Kod C++ programu Instrukcje Shuruppaka, który jest omówiony w powyższym filmie i który otrzymuje 100%

#include <bits/stdc++.h>
using namespace std;

#define NS "BRAK_SLOWA"

int main() {
 ios_base::sync_with_stdio(0);
 cin.tie(0);
 cout.tie(0);

 set<string> dokument;
 string akt_slowo, szukane_slowo;
 string nastepne, poprzednie;
 set<string>::iterator it_znalezione;
 
 cin >> szukane_slowo;
 
 while ( cin >> akt_slowo )
    dokument.insert (akt_slowo);

 if ( dokument.empty() )
    return 0;

 cout << "Liczba unikalnych slow: " << dokument.size() << "\n";

 if ( dokument.find(szukane_slowo) != dokument.end() ) {
    cout << "Slowo " << szukane_slowo << " wystepuje w tekscie.\n";
    cout << "Milego dnia ekipo!\n";
    return 0;
 }
 
 it_znalezione = dokument.upper_bound ( szukane_slowo ); 
 if ( it_znalezione != dokument.end() ) 
    nastepne = *it_znalezione;
 else
    nastepne = NS;
 
 if ( it_znalezione == dokument.begin() )
    poprzednie = NS;
 else {
    --it_znalezione;
    poprzednie = *it_znalezione;
 }

 cout << "Slowo " << szukane_slowo << " NIE wystepuje w tekscie.\n"; 
 cout << "Sasiednie slowa to " << poprzednie << " oraz " << nastepne <<".\n";
 cout << "Milego dnia ekipo!\n";
    
 return 0;
}
Kod C++ programu Instrukcje Shuruppaka, który jest omówiony w powyższym filmie i który otrzymuje 100%

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz