uva814-The letter Carrier's Rounds
来源:互联网 发布:c4d 电脑配置 知乎 编辑:程序博客网 时间:2024/05/18 00:52
题目比较简单。
#include <iostream>#include <cstdio>#include <cstring>#include <set>#include <vector>#include <map>using namespace std;void change(const string&s, string &user, string& mta) {int k = s.find('@');user = s.substr(0, k);mta = s.substr(k+1);}int main(){ string s, user1, mta1, user2, mta2, t; int k; set<string> addr; //存放所有用户 while (cin >> s && s != "*") { cin >> s >> k; while (k--) { cin >> t; addr.insert(t + "@" + s);} } while (cin >> s &&s!= "*") { change(s, user1, mta1); vector<string> mta;//所有需要连接的mta,按输入顺序 map<string, vector<string> > dest;//每个mta需要发送的用户 set<string> vis;//存收件人 while (cin >> t && t != "*") { change(t, user2, mta2); if (vis.count(t)) continue; vis.insert(t); if(!dest.count(mta2)) {mta.push_back(mta2); dest[mta2] = vector<string>();} dest[mta2].push_back(t); } getline(cin, t); // 吃回车 //读取邮件 string data; while (getline(cin, t)&& t[0] != '*') { data += " " + t + "\n";} for (int i=0; i<mta.size(); i++) { string mta2 = mta[i]; vector<string> users = dest[mta2]; cout << "Connection between " << mta1 << " and " << mta2 << "\n"; cout << " HELO " << mta1 << "\n 250\n"; cout << " MAIL FROM:<" << s << ">\n 250\n"; bool ok = false; for (int i=0; i<users.size(); i++) { cout << " RCPT TO:<" << users[i] << ">\n"; if (addr.count(users[i])) { ok = true; cout << " 250\n";} else cout << " 550\n"; } if (ok) { cout << " DATA\n 354\n"; cout << data; cout << " .\n 250\n"; } cout << " QUIT\n 221\n"; } } return 0;}
0 0
- UVa814 - The Letter Carrier's Rounds
- uva814-The letter Carrier's Rounds
- 814 - The Letter Carrier's Rounds
- 814 - The Letter Carrier's Rounds
- uva 814 The Letter Carrier's Rounds
- The letter Carrier's Rounds(Uva 814)
- The Letter Carrier's Rounds UVA
- uva 814 The Letter Carrier's Rounds
- UVa 814 - The Letter Carrier's Rounds(模拟)
- The Letter Carrier's Rounds(UVa 814)
- 814-The Letter Carrier's Rounds【模拟、STL、被坑了】
- VUA814-The Letter Carrier's Rounds(入门经典5-11,PE)
- 例题5-11 UVA 814 The Letter Carrier’s Rounds邮件传输代理的交互
- UVa 814 The Lettter Carrier's Rounds
- How To get the usbdisk's drive letter properly
- Lesson Forty-Five The boss's letter. 老板的信.
- Lesson 45 The boss's letter 老板的信
- Carrier Ethernet: Providing the Need for Speed
- DOM与DOM4J对XML文件的解析
- 8. String to Integer (atoi)
- 滑动均值Moving Average与中值滤波Moving Median
- STM8 PWM
- 如何从Eclipse导入github上的项目源码
- uva814-The letter Carrier's Rounds
- 2016中国大学生程序设计竞赛 - 网络选拔赛 1004 Danganronpa hdu5835
- java7--(1.7)也可能还早的-----HashMap的实现原理
- 在浏览器中输入网址到网页展现全部过程
- mac下安装maven
- HashMap的工作原理
- realloc,malloc,calloc的区别 new delete和malloc free的区别
- 2016中国大学生程序设计竞赛 - 网络选拔赛 1011 Lweb and String hdu5842
- 跨进程访问——AIDL服务