#include #include struct Process { std::string name { }; std::vector resources { }; }; /* Example 1: $ ./a.out Enter resources that are busy: disk Processs that can run unhindered: Web Browser: network Print Manager: network printer Input Handler: keyboard Image Processing: GPU display Video Streaming: display network speakers Print Driver Service: printer Photo Viewer: display Scientific Computation Module: GPU Text Editor: display keyboard Network Scanning Tool: USB network Audio Playback: speakers System Update Service: GPU USB network Document Conversion Tool: display printer Graphic Design Software: GPU display Simulation Engine: GPU E-Mail Client: network Example 2: $ ./a.out Enter resources that are busy: network display printer GPU Processs that can run unhindered: Input Handler: keyboard File Management Tool: USB disk Audio Playback: speakers Disk Cleaning Utility: disk Example 3: $ ./a.out Enter resources that are busy: USB speakers keyboard Processs that can run unhindered: Data Analysis Tool: disk network Web Browser: network Print Manager: network printer Image Processing: GPU display Print Driver Service: printer Photo Viewer: display Database Management System: disk network Scientific Computation Module: GPU Document Conversion Tool: display printer Disk Cleaning Utility: disk Graphic Design Software: GPU display Simulation Engine: GPU E-Mail Client: network