B. Radio Station

time limit per test2 seconds

memory limit per test256 megabytes

Problem Dsecription

As the guys fried the radio station facilities, the school principal gave them tasks as a punishment. Dustin’s task was to add comments to nginx configuration for school’s website. The school has n servers. Each server has a name and an ip (names aren’t necessarily unique, but ips are). Dustin knows the ip and name of each server. For simplicity, we’ll assume that an nginx command is of form “command ip;” where command is a string consisting of English lowercase letter only, and ip is the ip of one of school servers.

Each ip is of form “a.b.c.d” where a, b, c and d are non-negative integers less than or equal to 255 (with no leading zeros). The nginx configuration file Dustin has to add comments to has m commands. Nobody ever memorizes the ips of servers, so to understand the configuration better, Dustin has to comment the name of server that the ip belongs to at the end of each line (after each command). More formally, if a line is “command ip;” Dustin has to replace it with “command ip; #name” where name is the name of the server with ip equal to ip.

Dustin doesn’t know anything about nginx, so he panicked again and his friends asked you to do his task for him.

Input

The first line of input contains two integers n and m (1 ≤ n, m ≤ 1000).

The next n lines contain the names and ips of the servers. Each line contains a string name, name of the server and a string ip, ip of the server, separated by space (1 ≤ |name| ≤ 10, name only consists of English lowercase letters). It is guaranteed that all ip are distinct.

The next m lines contain the commands in the configuration file. Each line is of form “command ip;” (1 ≤ |command| ≤ 10, command only consists of English lowercase letters). It is guaranteed that ip belongs to one of the n school servers.

Output

Print m lines, the commands in the configuration file after Dustin did his task.

Examples

input

2 2

main 192.168.0.2

replica 192.168.0.1

block 192.168.0.1;

proxy 192.168.0.2;

output

block 192.168.0.1; #replica

proxy 192.168.0.2; #main

input

3 5

google 8.8.8.8

codeforces 212.193.33.27

server 138.197.64.57

redirect 138.197.64.57;

block 8.8.8.8;

cf 212.193.33.27;

unblock 8.8.8.8;

check 138.197.64.57;

output

redirect 138.197.64.57; #server

block 8.8.8.8; #google

cf 212.193.33.27; #codeforces

unblock 8.8.8.8; #google

check 138.197.64.57; #server


解题心得:

  1. 题目说了一大堆其实题意很简单,给你n个ip地址,每个地址有一个对应的名字,然后m次询问,每次询问给你一个ip地址,叫你输出ip地址的名字。当然还有一些乱七八糟的输出要求。
  2. 就是一个hash,将每个地址用一个数表示,然后将地址和这个数存起来,每次询问的时候直接去找这个数,然后将地址输出就行了。主要的是考验一个读题的能力。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5+100;
map <string ,string> maps;
string s1;
int n,m,tot=0;
struct NODE
{
string s;
long long num;
}node[10000];
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>s1;
long long x1,x2,x3,x4,ans =0;
scanf("%lld.%lld.%lld.%lld",&x1,&x2,&x3,&x4);//注意输入的时候控制格式
ans += x1*233;
ans = ans*233+x2;
ans = ans*233+x3;
ans = ans*233+x4;
node[tot].num = ans;
node[tot++].s = s1;
}
for(int i=0;i<m;i++)
{
cin>>s1;
long long x1,x2,x3,x4,ans=0;
scanf("%lld.%lld.%lld.%lld;",&x1,&x2,&x3,&x4);
cout<<s1<<" ";
printf("%lld.%lld.%lld.%lld; #",x1,x2,x3,x4);
ans = x1*233;
ans = ans*233+x2;
ans = ans*233+x3;
ans = ans*233+x4;
for(int i=0;i<tot;i++)
if(node[i].num == ans)
{
cout<<node[i].s<<endl;
break;
}
}
return 0;
}

Codeforces Round #459 (Div. 2):B. Radio Station的更多相关文章

  1. 【Codeforces Round #459 (Div. 2) B】 Radio Station

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 用map模拟一下映射就好了. [代码] #include <bits/stdc++.h> using namespace ...

  2. Codeforces Round #459 (Div. 2):D. MADMAX(记忆化搜索+博弈论)

    D. MADMAX time limit per test1 second memory limit per test256 megabytes Problem Description As we a ...

  3. Codeforces Round #459 (Div. 2)

    A. Eleven time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...

  4. Codeforces Round #482 (Div. 2) : Kuro and GCD and XOR and SUM (寻找最大异或值)

    题目链接:http://codeforces.com/contest/979/problem/D 参考大神博客:https://www.cnblogs.com/kickit/p/9046953.htm ...

  5. Codeforces Round #482 (Div. 2) :B - Treasure Hunt

    题目链接:http://codeforces.com/contest/979/problem/B 解题心得: 这个题题意就是三个人玩游戏,每个人都有一个相同长度的字符串,一共有n轮游戏,每一轮三个人必 ...

  6. Codeforces Round #532 (Div. 2):F. Ivan and Burgers(贪心+异或基)

    F. Ivan and Burgers 题目链接:https://codeforces.com/contest/1100/problem/F 题意: 给出n个数,然后有多个询问,每次回答询问所给出的区 ...

  7. Codeforces Round #511 (Div. 2):C. Enlarge GCD(数学)

    C. Enlarge GCD 题目链接:https://codeforces.com/contest/1047/problem/C 题意: 给出n个数,然后你可以移除一些数.现在要求你移除最少的数,让 ...

  8. Codeforces Round #514 (Div. 2):D. Nature Reserve(二分+数学)

    D. Nature Reserve 题目链接:https://codeforces.com/contest/1059/problem/D 题意: 在二维坐标平面上给出n个数的点,现在要求一个圆,能够容 ...

  9. Codeforces Round #459 (Div. 2) D. MADMAX DFS+博弈

    D. MADMAX time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...

随机推荐

  1. Mysql 如何设置字段自动获取当前时间,附带添加字段和修改字段的例子

    --添加CreateTime 设置默认时间 CURRENT_TIMESTAMP  ALTER TABLE `table_name`ADD COLUMN  `CreateTime` datetime N ...

  2. U盘安装Ubuntu15.04 出现boot failed: please change disks and press a key to continue

    1.根据国内的教程,用Ultraiso制作了一个Ubuntu15.04的U盘启动盘,在装系统的时候提示如下错误:boot failed: please change disks and press a ...

  3. elasticsearch远程代码执行漏洞告警

    es版本:1.7.2 最近在做es项目的时候出现,启动es一段时间系统就会报警,结果查询了一下,原来是es的漏洞: 官网描述: 大致意思就是: 漏洞出现在脚本查询模块,默认搜索引擎支持使用脚本代码(M ...

  4. 如何将js导入时的小红叉去掉

    右键WebRoot-Myeclipse-Exclude From Validation

  5. LESS CSS非常实用实例应用

    @charset "UTF-8"; @base-color:#333; // 圆角 .border-radius (@radius: 5px) { -webkit-border-r ...

  6. testNG测试基础一

    1.TestNG概念 TestNG:Testing Next Generation 下一代测试技术,是一套根据JUnit和Nunit思想构建的利用注释来强化测试功能的测试框架,可用来做单元测试,也可用 ...

  7. 制作centos安装u盘

    格式化 mkfs.vfat /dev/sdb1 制作 dd if=CentOS-7-x86_64-Minimal-1503-01.iso of=/dev/sdb # 1. 注意是/dev/sdb 不是 ...

  8. Pylint 是什么

    Pylint 是什么 Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考 ...

  9. CSS样式中visited,hover,active , focus这四个分别表示什么意思?

    CSS伪类用于向某些选择器添加特殊的效果.CSS又名层叠样式表,所谓层叠,就是后面的样式会覆盖前面的样式,所以在样式表中,各样式排列的顺序很有讲究. :link 与 :visited 在样式文件中的顺 ...

  10. linux下安装和卸载mysql

      卸载: 1 . rpm -qa | grep -i mysql命令查看已经安装过的组件.   2. 使用yum -y remove命令卸载已经安装的MySQL组件,使用下面的命令,对于上面已经安装 ...