码迷,mamicode.com
首页 > 其他好文 > 详细

SSL 2058_字符串编辑_字符串

时间:2018-01-06 15:52:27      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:blog   第一个   using   std   log   表示   使用   字符   资料   

题目描述

为了对一些资料进行保密,奶牛们要对某些文章进行编辑。编辑的方法很奇特:要把原有文章的某些词句按照某些规则用另一些词句代替。 
规则的形式如下:原串?新串,表示把原串替换成新串。假设有n条规则,第i规则的原串和新串分别为Mi和Ni,则编辑按如下过程进行:开始编辑时,先使用第一条规则,把文章中出现的第一个M1替换成N1,如果替换后的新文章还存在M1,则如上处理,直到文章不存在M1为止;然后用同样的方法使用第2,第3,……,第n条规则进行替换,直到所有的规则都用完为止。注意: 
? 每次都要从文章开头开始找要替换的词句 
? 一条规则一旦使用完后,将不能再使用 
? 每一篇文章都是可编辑的 


#include <stdio.h>
#include <string>
#include <cstring>
#include <iostream>
using namespace std;
struct arr
{
    string st, ed;
}a[110];
int main()
{
    int n;
    scanf("%d\n", &n);
    for (int i = 1; i <= n; i++)
    { 
        getline(cin, a[i].st);
        getline(cin, a[i].ed);
    }
    string st;
    getline(cin, st);
    for (int i = 1; i <= n; i++)
    {
        int l = st.find(a[i].st);
        while (l >= 0)
        {
            st.replace(l, a[i].st.size(), a[i].ed);
            l = st.find(a[i].st);
        }
    }
    if (st.size() <= 80)
        cout << st << endl;
    else
    {
        st[80] = /0;
        cout << st << endl;
    }
}

 

SSL 2058_字符串编辑_字符串

标签:blog   第一个   using   std   log   表示   使用   字符   资料   

原文地址:https://www.cnblogs.com/nidhogg/p/8214211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!