Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // Task
- //
- // Created by Денис Домашевич on 08.03.2018.
- // Copyright © 2018 Денис Домашевич. All rights reserved.
- //
- #include <iostream>
- #include <map>
- using namespace std;
- int n, numberOfQueries;
- struct IP {
- public:
- void read() {
- for (int i = 0; i < 4; ++i) {
- cin >> numbers[i];
- getchar();
- }
- }
- void write() {
- for (int i = 0; i < 4; ++i) {
- cout << numbers[i];
- if(i != 3) {
- cout << '.';
- }
- }
- cout << ';';
- }
- friend bool operator < (const IP& left, const IP& right) {
- bool ok = 0;
- for(int i = 0; i < 4; ++i) {
- if(left.numbers[i] < right.numbers[i]) {
- ok = 1;
- }
- }
- return ok;
- }
- friend bool operator == (const IP& a, const IP& b) {
- bool ok = 1;
- for(int i = 0; i < 4; ++i) {
- if(a.numbers[i] != b.numbers[i]) {
- ok = 0;
- }
- }
- return ok;
- }
- private:
- int numbers[4];
- };
- map <IP, string> servers;
- int main(int argc, const char * argv[]) {
- cin >> n >> numberOfQueries;
- for (int i = 0; i < n; ++i) {
- string command;
- cin >> command;
- IP newIP; newIP.read();
- if(!servers.count(newIP)) {
- servers[newIP] = command;
- }
- }
- while (numberOfQueries--) {
- string command;
- cin >> command;
- IP checkIP; checkIP.read();
- getchar();
- cout << command << ' ';
- checkIP.write();
- if(servers.count(checkIP)) {
- cout << " #" << servers[checkIP] << '\n';
- } else {
- cout << " #main\n";
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement