B. Suffix Structures 模拟吧,情况比較多要想周全
这道题须要考虑的情况比較多,flag1表示情况是:b数组里有的字母而a里没有和b里面的同一个字母个数比a里面的多
flag2表示情况:b里面的左右字母能不能在a中同等顺序的存在
flag3表示情况:a里面同一个字母的个数与b里面是否同样
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main(){
// freopen("in.txt","r",stdin);
char a[105],b[105];
int coua[50],coub[50];
while(cin>>a>>b){
for(int i=0;i<50;i++)
coua[i]=coub[i]=0;
int lena=strlen(a);
int lenb=strlen(b);
for(int i=0;i<lena;i++)
coua[a[i]-'a']++;
for(int i=0;i<lenb;i++)
coub[b[i]-'a']++;
int flag1=0,flag2=0,flag3=0;
for(int i=0;i<50;i++){
if((coub[i]!=0 && coua[i]==0)||coub[i]>coua[i]){
flag1=1;
}
if(coub[i]!=coua[i])
flag3=1;
}
for(int i=0,j=0;i<lenb,j<lena;){
if(b[i]==a[j]){
i++;j++;
}else j++;
if(i==lenb)
flag2=1;
}
if((flag1==1 || lena<lenb)||((lena==lenb)&&flag3==1))
cout<<"need tree"<<endl;
if(flag1==0 && flag2==0 && lena>lenb )
cout<<"both"<<endl;
if(flag1==0 && flag2==1)
cout<<"automaton"<<endl;
if(flag1==0 && flag2==0 && lena==lenb && flag3==0)
cout<<"array"<<endl; }
}
B. Suffix Structures 模拟吧,情况比較多要想周全的更多相关文章
- Codeforces Round #256 (Div. 2) B. Suffix Structures(模拟)
题目链接:http://codeforces.com/contest/448/problem/B --------------------------------------------------- ...
- cf448B Suffix Structures
B. Suffix Structures time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #256 (Div. 2) B Suffix Structures
Description Bizon the Champion isn't just a bison. He also is a favorite of the "Bizons" t ...
- chales抓包,模拟异常情况
抓包能做什么? 1 .可以抓取客户端和server的请求和返回,可以借助判断是客户端问题是server问题 2.可以模拟各种异常情况用来测试异常情况 3.无接口文档情况下测试接口 怎么修改你抓到的请求 ...
- CONTINUE...?模拟分情况
CONTINUE...? DreamGrid has classmates numbered from to . Some of them are boys and the others are ...
- CODE FESTIVAL 2017 qual A--C - Palindromic Matrix(模拟所有情况,注意细节)
个人心得:其实本来这题是有规律的不过当时已经将整个模拟过程都构思出来了,就打算试试,将每个字符和总和用优先队列 装起来,然后枚举每个点,同时进行位置标志,此时需要多少个点的时候拿出最大的和出来,若不满 ...
- Codeforces Round #256 (Div. 2) B (448B) Suffix Structures
题意就是将第一个字符串转化为第二个字符串,支持两个操作.一个是删除,一个是更换字符位置. 简单的字符串操作!. AC代码例如以下: #include<iostream> #include& ...
- codeforces 448B. Suffix Structures 解题报告
题目链接:http://codeforces.com/problemset/problem/448/B 题目意思:给出两种操作automaton:可以删除字符串中任意一个字符: array:交换字符串 ...
- csacademy Round #36(模拟+最坏情况)
传送门 题意 给出n种袜子,每种袜子个数a[i],两只相同种类袜子配成一对,询问至少拿出多少只袜子能确保配出k对袜子 分析 In order to find out the minimum numbe ...
随机推荐
- linux命令(18):chmod命令
1. 命令格式: chmod [-cfvR] [--help] [--version] mode file 2. 命令功能: 用于改变文件或目录的访问权限,用它控制文件或目录的访问权限. 3. 命令参 ...
- LeetCode解题报告—— N-Queens && Edit Distance
1. N-Queens The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no ...
- git学习资源合集
git官网 Pro git 电子书,这里还有中文版,这也是官方推荐的. 再加一个廖雪峰的简明git教程.
- 【JBPM4】任务节点-任务分配assignee
JPDL <process key="task" name="task" xmlns="http://jbpm.org/4.4/jpdl&quo ...
- Python基础系列----字典、基本语句
1.定义 映 ...
- Java中多线程问题
线程调度中的方法: sleep() 顾名思义线程休眠可传递连个参数-@毫秒 @纳秒 yield() 暂时挂起 这里的线程会释放资源,但是有一个坑是虽然是释放资源但是是公平竞争资源 如:a线程释放资源后 ...
- 异步加载 Echarts图的数据
<script src="~/Scripts/NewEcharts/echarts.js"></script> <script type=" ...
- HRBUST 1212 乘积最大
$dp$,大数运算. $dp[i][j]$表示到$i$位置切成了$j$段的最大收益.数字爆$longlong$,$Java$上大数. import java.math.BigInteger; impo ...
- Java HashSet的元素内容变化导致的问题
概述 HashSet元素引用的对象的内容发生变化,会导致"元素不属于集合"的问题.事实上这个元素还在集合里,但是调用contains方法进行判断,得到的结果却是false. 正文 ...
- 【数据结构】 最小生成树(四)——利用kruskal算法搞定例题×3+变形+一道大水题
在这一专辑(最小生成树)中的上一期讲到了prim算法,但是prim算法比较难懂,为了避免看不懂,就先用kruskal算法写题吧,下面将会将三道例题,加一道变形,以及一道大水题,水到不用高级数据结构,建 ...