zoukankan      html  css  js  c++  java
  • 10115 Automatic Editing

      这题的数据需要注意一下,题意不是很清楚,可以去uva的论坛里看看别人贴的数据

     

    C++语言: Codee#25717
    001 /*
    002 +++++++++++++++++++++++++++++++++++++++
    003                 author: chm
    004 +++++++++++++++++++++++++++++++++++++++
    005 */
    006
    007 #include <map>
    008 #include <set>
    009 #include <list>
    010 #include <queue>
    011 #include <cmath>
    012 #include <stack>
    013 #include <bitset>
    014 #include <cstdio>
    015 #include <cctype>
    016 #include <vector>
    017 #include <cstdlib>
    018 #include <cstring>
    019 #include <fstream>
    020 #include <sstream>
    021 #include <iomanip>
    022 #include <iostream>
    023 #include <algorithm>
    024
    025 using namespace std;
    026
    027 FILE*            fin         = stdin;
    028 FILE*            fout         = stdout;
    029 const int        max_size     = 10086;
    030 char str[max_size];
    031 char tmpstr[max_size];
    032 char original[max_size][400];
    033 char replacestr[max_size][400];
    034
    035 int main()
    036 {
    037 #ifndef ONLINE_JUDGE
    038     freopen("c:\\in.txt", "r", stdin);
    039     fout = fopen("c:\\garage\\out.txt", "w");
    040 #endif
    041     int rules;
    042     char* ptr;
    043     int len1, len2;
    044
    045     while(scanf("%d\n", &rules) && rules)
    046     {
    047         for(int i = 0; i < rules; ++i)
    048         {
    049             fgets(original[i], sizeof(original[i]), stdin);
    050             fgets(replacestr[i], sizeof(replacestr[i]), stdin);
    051             original[i][strlen(original[i]) - 1] = '\0';
    052             replacestr[i][strlen(replacestr[i]) - 1] = '\0';
    053         }
    054         fgets(str, sizeof(str), stdin);
    055
    056         for(int i = 0; i < rules; ++i)    //for each rule
    057         {
    058             ptr = strstr(str, original[i]);
    059             len1 = strlen(replacestr[i]);
    060             len2 = strlen(original[i]);
    061
    062             while(ptr)
    063             {
    064                 strcpy(tmpstr, ptr + len2);
    065                 /*
    066                   ****
    067                 beba boat
    068                 behind the goat
    069                    */
    070
    071                 /*
    072                 ****
    073                 bababa boat
    074                 beba boat
    075                    */
    076                 strcpy(ptr + len1,tmpstr);
    077                 strncpy(ptr, replacestr[i], len1);
    078                 ptr = strstr(ptr , original[i]);
    079             }
    080         }
    081         fprintf(fout, "%s", str);
    082     }
    083
    084 #ifndef ONLINE_JUDGE
    085     fclose(fout);
    086     system("c:\\garage\\check.exe");
    087     system("notepad c:\\garage\\out.txt");
    088 #endif
    089     return 0;
    090 }
    091 /*
    092 4
    093 ban
    094 bab
    095
    096 baba
    097 be
    098
    099 ana
    100 any
    101
    102 ba b
    103 hind the g
    104
    105 banana boat
    106 babana boat
    107 bababa boat
    108 beba boat
    109 behind the goat
    110
    111 1
    112 t
    113 sh
    114 toe or top
    115 0
    116 ---------------------------------
    117 behind the goat
    118 shoe or shop
    119
    120 */
  • 相关阅读:
    将Infopath转成PDF
    调用MOSS API取document时出现out of memeory错误
    jquery dialog中mvc客户端验证无效
    Windows Service开发点滴20130622
    CentOS
    nginx
    VIM
    nodejs weixin 笔记
    nodejs mysql
    nodejs 笔记
  • 原文地址:https://www.cnblogs.com/invisible/p/2378123.html
Copyright © 2011-2022 走看看