邮件传输代理的交互 The Letter Carrier's Rounds

题意翻译

本题的任务为模拟发送邮件时MTA(邮件传输代理)之间的交互。所谓MTA,就是email地址格式user@mtaname的“后面部分”。当某人从user1@mta1发送给另一个人user2@mta2时,这两个MTA将会通信。如果两个收件人属于同一个MTA,发送者的MTA只需与这个 MTA通信一次就可以把邮件发送给这两个人。 输入每个MTA里的用户列表,对于每个发送请求(输入发送者和接收者列表),按顺序 输出所有MTA之间的SMTP(简单邮件协议)交互。协议细节参见原题。 发送人MTA连接收件人MTA的顺序应该与在输入中第一次出现的顺序一致。例如,若 发件人是Hamdy@Cairo,收件人列表为Conrado@MexicoCity、Shariff@SanFrancisco、 Lisa@MexicoCity,则Cairo应当依次连接MexicoCity和SanFrancisco。 如果连接某个MTA之后发现所有收件人都不存在,则不应该发送DATA。所有用户名均由不超过15个字母和数字组成。 - `221`:关闭 MTA 间通讯,在 `QUIT` 后出现; - `250`:表示 MTA 间通讯正常,在每个正常操作后出现; - `354`:表示发信开始,在 `DATA` 后出现; - `550`:表示 MTA 间通讯异常,即收信人不存在导致信息无法发送,在异常操作后出现; - `HELO`:后面的字符串代表发信人所在的 MTA; - `MAIL FROM`:后面的字符串表示发信人的域名; - `RCPT TO`:后面的字符串表示此封信件的收件人**之一**(一封信件的 `MAIL FROM` 只能有**一行**,而 `RCPT TO` 可以有**多行**) - `DATA`:后面即为信文; - `QUIT`:表示信文结束。 Translated by @HuangBo

题目描述

[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=10&page=show_problem&problem=755 [PDF](https://uva.onlinejudge.org/external/8/p814.pdf) ![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA814/ce9250ad50e7737c43213a539668fb6c23f3d0ea.png)

输入输出格式

输入格式


![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA814/f5728826144f1356571357078ceb40d6d77cbd02.png)

输出格式


![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA814/ccad3c3a3b664c8a1cb83b9a2ac50915f4da21fa.png)

输入输出样例

输入样例 #1

MTA London 4 Fiona Paul Heather Nevil
MTA SanFrancisco 3 Mario Luigi Shariff
MTA Paris 3 Jacque Suzanne Maurice
MTA HongKong 3 Chen Jeng Hee
MTA MexicoCity 4 Conrado Estella Eva Raul
MTA Cairo 3 Hamdy Tarik Misa
*
Hamdy@Cairo Conrado@MexicoCity Shariff@SanFrancisco Lisa@MexicoCity
*
Congratulations on your efforts !!
--Hamdy
*
Fiona@London Chen@HongKong Natasha@Paris
*
Thanks for the report! --Fiona
*
*

输出样例 #1


Connection between Cairo and MexicoCity
     HELO Cairo
     250
     MAIL FROM:<Hamdy@Cairo>
     250
     RCPT TO:<Conrado@MexicoCity>
     250
     RCPT TO:<Lisa@MexicoCity>
     550
     DATA
     354
     Congratulations on your efforts !!
     --Hamdy
     .
     250
     QUIT
     221
Connection between Cairo and SanFrancisco
     HELO Cairo
     250
     MAIL FROM:<Hamdy@Cairo>
     250
     RCPT TO:<Shariff@SanFrancisco>
     250
     DATA
     354
     Congratulations on your efforts !!
     --Hamdy
     .
     250
     QUIT
     221
Connection between London and HongKong
     HELO London
     250
     MAIL FROM:<Fiona@London>
     250
     RCPT TO:<Chen@HongKong>
     250
     DATA
     354
     Thanks for the report! --Fiona
     .
     250
     QUIT
     221
Connection between London and Paris
     HELO London
     250
     MAIL FROM:<Fiona@London>
     250
     RCPT TO:<Natasha@Paris>
     550
     QUIT
     221