题意

模拟mta发送邮件
模拟的我头皮发麻

记录

有个挺骚的操作记下来了, 有点意思

string text;
while(getline(cin, s) && s[0] != '*')text += "     " + s + "\n";

AC代码

#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <set>
#include <map>using namespace std;set<string> email, wait;
vector<string> vec;
map<string,vector<string> > countnum;void findmta( string &name, string &mta, string s ){int mrk = s.find('@');name = s.substr(0,mrk);mta = s.substr(mrk+1);//cout << name << endl << mta << endl;
}int main()
{string s, s1, s2, ss, name1, mta1, name2, mta2;vector<string>::iterator it;int n;size_t i, j;while( cin >> s ){if( s == "*" )  break;if( s == "MTA" ){cin >> s1;cin >> n;while(n--){s2 = "";cin >> s2;email.insert(s2+"@"+s1);}}}while( cin >> s && s != "*" ){findmta(name1,mta1,s);while( cin >> ss && ss != "*" ){findmta(name2, mta2, ss);if(wait.count(ss)) continue;wait.insert(ss);if( !countnum.count(mta2) ){vec.push_back(mta2);countnum[mta2] = vector<string>();}countnum[mta2].push_back(ss);//countnum[mta2]++;}getchar();string text;while(getline(cin, s) && s[0] != '*')text += "     " + s + "\n";for( i = 0; i < vec.size(); i++ ){vector<string> adds = countnum[vec[i]];cout << "Connection between " << mta1 << " and " << vec[i] << endl;cout << "     HELO " << mta1 << endl << "     250" << endl;cout << "     MAIL FROM:<" << name1 << "@" << mta1 << ">" << endl << "     250" << endl;bool flag = false;for( j = 0; j < adds.size(); j++){cout << "     RCPT TO:<" << adds[j] << ">" << endl;if( email.count(adds[j]) ){flag = true;cout << "     250" << endl;}else    cout << "     550" << endl;}if( flag )cout << "     DATA" << endl << "     354" << endl << text << "     ." << endl << "     250" << endl;cout << "     QUIT" << endl << "     221" << endl;}if( !wait.empty() ) wait.clear();if( !countnum.empty() ) countnum.clear();if( !vec.empty() )  vec.clear();}return 0;
}

转载于:https://www.cnblogs.com/JinxiSui/p/9740620.html

UVa 814 - The Letter Carrier's Rounds相关推荐

  1. 814:The Letter Carrier's Rounds

    The Letter Carrier's Rounds 注意可能有重复的收件人. version 1(20ms): #include<cstdio> #include<iostrea ...

  2. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  3. 算法竞赛入门经典(第2版)—第五章(C++与STL入门)

    文章目录 零碎知识点整理 题目 10474 - Where is the Marble? 101 - The Blocks Problem 10815 - Andy's First Dictionar ...

  4. 《算法竞赛入门经典(第2版)》——学习记录

    前言:   这里主要记录本人在学习紫书过程中充分理解过的题目的AC代码,便于以后回顾时查找代码和思路,毕竟看别人的真的有点难懂.此外,本书甚至是本书之外的相关知识学习也可能在此留下记录.   作为一只 ...

  5. POJ前面的题目算法思路【转】

    1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...

  6. POJ 超详细分类

    POJ 各题算法 1000    A+B Problem            送分题     49%    2005-5-7 1001    Exponentiation         高精度   ...

  7. RabbitMQ与PHP应用

    RabbitMQ与PHP应用 简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连 ...

  8. java求公式例题_JAVA经典算法40题

    1: JAVA经典算法40题 2: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3 ...

  9. java java算法题目_java常见算法题目

    1: JAVA经典算法40题 2: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3 ...

最新文章

  1. jQuery 通用表单方法
  2. Hive将查询结果保存到另一张表中
  3. 来腾讯云开发者实验室 学习.NET Core 2.0
  4. Linux PCI网卡驱动分析
  5. 第六十一期: 从7600万个5G连接中,我们发现了7种最有前景的5G物联网应用
  6. android 存储方式以及路径简介
  7. 孕妇能长期在计算机屏幕前工作吗,怀孕了在电脑前工作怎么办
  8. 排序 -> 选择排序
  9. 学生社团管理系统PHP源码,学生社团管理系统 附带源码
  10. 2008评估过期 server sql_SQLServer2008R2数据库评估版已经过期解决办法.doc
  11. 网页导出的excel无法计算机,网页上不能导出excel表格数据-如何将网页表格导出到excel...
  12. java查看jar包依赖_java项目开发中如何查找到项目依赖的jar包?
  13. 解读微信团队的七个价值观
  14. c语言算术转换例子,关于C语言算术表达式中“寻常算术转换”的问题
  15. N个苹果分给M个人,有多少种分法
  16. ubuntu安装qv2ray问题?
  17. 解决农产品滞销难题,农村淘宝有何绝招?
  18. c语言:已知斐波那契数列定义:f(0) = 0; f(1) = 1;f(n) = f(n-1) + f(n-2);请计算并输出数列的前n(n<=30)项。
  19. ceph---luminous版的安装
  20. 使用Mosquitto软件测试mqtt功能

热门文章

  1. Linux有问必答:如何扩展XFS文件系统
  2. ELK日志服务使用-kafka传输日志(bbotte.com)
  3. Jersey Restful Application with tomcat
  4. iOS系类教程之用instruments来检验你的app
  5. Latex、Lyx学习备忘
  6. Socket SSL通讯
  7. 联想、戴尔、惠普等笔记本预装膨胀件 存在安全隐患
  8. jQuery代码优化的9种方法
  9. 搭建 LNMP 环境
  10. 分分钟搭建Oracle环境