杭电2572
来源:互联网 发布:中国网文在国外知乎 编辑:程序博客网 时间:2024/06/09 16:51
题目描述:
最后的挑战终于到了!
站在yifenfei和MM面前的只剩下邪恶的大魔王lemon一人了!战胜他,yifenfei就能顺利救出MM。
Yifenfei和魔王lemon的挑战很简单:由lemon给出三个字符串,然后要yifenfei说出第一串的某个子串,要求该子串长度最小,并且同时包含第2个串和第3个串。
特别地,如果有多个这样的子串,则请输出字母序最小的一个。
站在yifenfei和MM面前的只剩下邪恶的大魔王lemon一人了!战胜他,yifenfei就能顺利救出MM。
Yifenfei和魔王lemon的挑战很简单:由lemon给出三个字符串,然后要yifenfei说出第一串的某个子串,要求该子串长度最小,并且同时包含第2个串和第3个串。
特别地,如果有多个这样的子串,则请输出字母序最小的一个。
这道题觉得.Net做起来应该很轻松吧,数据量很小,就不用KMS之类的了,直接搜两个字串,有一个没找到就输出No,都找到说明肯定存在
继续,暴力搜第一个字串的所有位置,保存,第二个字串的所有位置,保存,然后两层循环,取出包含这两个位置的所有子串并记录,再用Linq把搜素到的子串按长度、字典序排序,输出第一个就行了,AC代码:
using System;using System.Collections.Generic;using System.Linq;using System.Text.RegularExpressions;namespace a1{class Program{public static void Main(string[] args){string str="";str=Console.ReadLine();int n=Convert.ToInt32(str);while(n-->0){string c=Console.ReadLine();string a=Console.ReadLine();string b=Console.ReadLine();if(c.IndexOf(a)<0 || c.IndexOf(b)<0){Console.WriteLine("No");continue;}List<int> at=new List<int>();List<int> bt=new List<int>();List<string> ct=new List<string>();//所有存在字串a,b的位置求解for(int i=0;i<c.Length-a.Length;i++)if(c.Substring(i,c.Length-i).IndexOf(a)==0) at.Add(i);for(int i=0;i<c.Length-b.Length;i++)if(c.Substring(i,c.Length-i).IndexOf(b)==0) bt.Add(i);int[] aa=at.ToArray();int[] bb=bt.ToArray();for(int i=0;i<aa.Length;i++)for(int j=0;j<bb.Length;j++){int p=aa[i]<bb[j]?aa[i]:bb[j];int q=(aa[i]+a.Length-1)>(bb[j]+b.Length-1)?(aa[i]+a.Length-1):(bb[j]+b.Length-1);ct.Add(c.Substring(p,q-p+1));}string[] cc=ct.ToArray();cc=cc.OrderBy(s=>s.Length).ThenBy(s=>s).ToArray();Console.WriteLine(cc[0]);}}}}
0 0
- 杭电2572
- 杭电
- 杭电
- 杭电
- 杭电 1234 和 杭电 2115
- 杭电2056之Rectangles 杭电
- 杭电ACM1061Rightmost Digit
- 杭电2099 7.11
- 杭电ACM 1003
- 杭电 ACM 2016
- 杭电ACM1466
- 杭电ACM1003
- 杭电ACM1225
- 杭电ACM2023
- 杭电ACM2602
- 杭电ACM2955
- 杭电ACM3198
- 杭电ACM2028 求教
- 转载 加 原创 session 和 cookie 内在联系
- maven 私服--nexus
- 命令上执上执行Yaf
- 解决EditPlus在设置了UTF-8之后,编写的HTML页面仍出现汉字乱码问题
- JDK安装出现1335错误
- 杭电2572
- 区域生长算法原理及MATLAB实现
- DataTable转泛型
- java 包和import关键字。
- spring AOP原理
- duplicate symbol重复导入某一文件
- 前端学习第一天
- prim求最小生成树——Highways
- Android中的一些基础知识(二)