T13735 fateice-string洛谷八连测2
来源:互联网 发布:手机万能遥控器软件 编辑:程序博客网 时间:2024/05/24 05:25
他将这个任务交给了他的心腹哈库莱特。忠实的哈库莱特认为,只需要输入密码就能解锁的加密装置实在是太不安全了,所以他决定用一个特别的加密装置来对Aldnoah启动装置进行保护。
他精心设计了这样一套加密装置:
该装置会给定解密者两个字符串s,t,其中s只包含小写字母以及*,t只包含小写字母。解密者可以进行任意多次操作,每次选择s中的一个*,将它修改为任意多个(可以是0个)它的前一个字符。询问是否能将s修改为t。
聪明的哈库莱特当然不会只给予解密者一组数据啦,所以解密时会有多组数据出现,并且每组数据只有在规定时间内答对才能够继续解密下一组数据。
今天他制作好了加密装置交给了斯雷因·特洛耶特伯爵,斯雷因准备先进行测试过后再将它安装在启动装置上。他随机制造了几组测试数据输入装置,然后让哈库莱特进行解密。哈库莱特会怎么做呢?
输入输出格式
输入格式:第一行一个整数T表示数据组数。
每组数据两行,第一行一个字符串s,第二行一个字符串t。
输出格式:每组数据输出一行,如果能将s修改为t,输出Yes,否则输出No。
输入输出样例
2a*aaaaa*ab输出:
YesNo个人代码:
var
s,t:array[1..30001]of char;
n,i,ss,tt:longint;
bo:boolean;
Procedure gai;
var i,j:longint;
begin
bo:=true;
i:=1; j:=1;
repeat
if t[i]=s[j] then begin inc(i); inc(j); end
else
begin
if s[j]<>'*'then begin
bo:=false;
break;
end
else begin
s[j]:=s[j-1];
if s[j]<>t[i] then begin
bo:=false;
break;
end
else
while s[j]=t[i] do inc(i);
end;
inc(j);
end;
until (j>ss)or(i>tt);
if i<tt then bo:=false;
end;
BEGIN
readln(n);
for i:=1 to n do
begin
ss:=1;
while not eoln do
begin
read(s[ss]); inc(ss);
end;
readln;
tt:=1;
while not eoln do
begin
read(t[tt]); inc(tt);
end;
readln;
gai;
if bo=false then writeln('No')
else writeln('Yes');
end;
END.
- T13735 fateice-string洛谷八连测2
- 八连测之一fateice-string
- 洛谷八连测string
- string 2
- string机制2
- String Reverse 2
- String 2 OutputStream
- string 学习2
- STL--string用法(2)
- javaString--String(2)
- java string举例说明2
- android String 2
- JAVA String Object(2)
- C++ string (2)
- String-练习1-2
- leetcode(2)--String reverse
- Ruby String(2)
- string用法2
- 学习GDB
- zookeeper下载
- 新手注意
- linux文本编辑vim-full
- 关于异步加载资源、plist的一些注意事项
- T13735 fateice-string洛谷八连测2
- [seetaface] installation log
- Java:封装案例(续)
- 记录
- 利用python做矩阵的简单运算(行列式、特征值、特征向量等的求解)
- 51nod 1344 走格子(贪心)
- C++之罗马数字转换为整型数字(12)---《那些奇怪的算法》
- 《阿里巴巴Java开发规约》插件全球首发!
- 字符数据的输出