G.易彰彪的一张表

易彰彪最近有点奇怪,一向爱打游戏他最近居然盯着一张全是大小写字母的表在看,好像在找什么东西。他说,这是他女神给他的一张表,他需要回答女神的问题——在忽略大小写(即大写字母和小写字母视为同一字母)的情况下,是否能在表中找到某一连续的字符串(第 ii 行的尾部和第 i + 1i+1 行的头部视为相连)。但是英语不好的易彰彪一看到字母就头晕,聪明的你能帮他解决这个问题吗?

输入格式:

输入有多组测试数据。

每组第一行会输入两个整数 nn 和 mm,分别是表的行数和列数,1 \leq n, m \leq 301≤n,m≤30。

第 22 行到第 n + 1n+1 行,每行输入一个长度为 mm的字符串,表示表的内容。

第 n + 2n+2 行输入易彰彪想要在表中找到的字符串。

输出格式:

如果按照题目描述能够在表中找到目标字符串,输出YES, 否则输出NO

样例1

输入:

5 5
yiZha
nGBia
oaerg
htyfj
awert
yizhangbiao

输出:

YES

字符串查找。

/* ***********************************************
Created Time  :2016/4/24 17:36:28
File Name     :1.cpp
************************************************ */
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <iomanip>
#include <list>
#include <deque>
#include <stack>
#define ull unsigned long long
#define ll long long
#define mod 90001
#define INF 0x3f3f3f3f
#define maxn 10010
#define cle(a) memset(a,0,sizeof(a))
const ull inf = 1LL << 61;
const double eps=1e-5;
using namespace std;
priority_queue<int,vector<int>,greater<int> >pq;
struct Node{
    int x,y;
};
struct cmp{
    bool operator()(Node a,Node b){
        if(a.x==b.x) return a.y> b.y;
        return a.x>b.x;
    }
};

bool cmp(int a,int b){
    return a>b;
}
string t,s;
int main()
{
    #ifndef ONLINE_JUDGE
    freopen("in.txt","r",stdin);
    #endif
    //freopen("out.txt","w",stdout);
    int n,m;

    while(cin>>n>>m){
        s="";
        for(int i=1;i<=n;i++){
            cin>>t;
            for(int j=0;j<m;j++){
                if(t[j]<=‘Z‘&&t[j]>=‘A‘)t[j]=char(t[j]+32);
            }
            s+=t;
        }
        string w;
        cin>>w;
        for(int i=0;i<w.size();i++){
            if(w[i]<=‘Z‘&&w[i]>=‘A‘)w[i]=char(w[i]+32);
        }
        size_t x = s.find(w);
        if(x!=string::npos){
            puts("YES");
        }
        else puts("NO");
    }
    return 0;
}
时间: 2024-10-01 04:53:15

G.易彰彪的一张表的相关文章

给你100万条数据的一张表,你将如何查询优化?

1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. MyISAM只要简单的读出保存好的行数即可. 注意的是,当count(*)语句包含 where条件时,两种表的操作有些不同,InnoDB类型的表用count(*)或者count(主键),加上where col 条件.其中col列是表的主键之外的其他具有唯一约束索引的列.这样查询时速度会很快.就是可

Java链接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash

准备工作 1.创建Java的Maven项目 创建好的目录结构如下:  另外注意junit的版本,最好不要太高,最开始笔者使用的junit4.12的,发现运行的时候会报错.最后把Junit的版本改成4.7的之后,问题解决了. 创建测试工具类HbaseDemo,为了保证能够让Hbase运行,需要最开始写出如下配置: package toto.com.hbase; import java.util.ArrayList; import java.util.Iterator; import org.apa

快速修改MySQL某张表的表结构

快速修改MySQL某张表的表结构--摘录自<MySQL管理之道> ALTER TABLE 表名 MODIFY 列名 数据类型; 这个命令可以修改表结构 此外,也可以如下方法修改表结构: 先创建一张表,如下: > create table t1 (id int,        name varchar(5),        rmb decimal(9,1)); 如果要修改name列为varchar(10)的,可以这样操作:alter table t1 modify name varchar

多表联合查询后去重复数据后重新插入第一张表解决办法

select goods_id,goods_type,goods_name,in_buy_price,ROUND(sum(in_total_price)/sum(in_amount),2),count(*) from in_warehouse_detail group by goods_id,goods_type,goods_name order by goods_id,goods_type,goods_name 查询结果如下: 另一张关联表[通过goods表的goods_Id和in_wareh

oracle创建第三方数据接口表,指定特定用户访问某张表

/*****创建用户并指定操作哪张表开始******/ --1.创建用户并设置默认表空间 CREATE USER CHENGDWY IDENTIFIED BY CHENGDWY DEFAULT TABLESPACE CFWL QUOTA UNLIMITED ON CFWL; --DROP USER CHENGDWY CASCADE; --删除用户 --2.授予CHENGDWY用户创建session的权限,即登陆权限 GRANT CONNECT TO CHENGDWY; ALTER USER CH

简单按日期查询mysql某张表中的记录数

测试表表结构:mysql> show create table dr_stats\G 1. row Table: dr_stats Create Table: CREATE TABLE `dr_stats` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `views` int(10) NOT NULL DEFAULT '0' COMMENT '展示量', `num` mediumint(8) NOT NULL DEFAULT '0' CO

(10)MySQL触发器(同时操作两张表)

什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合.触发器的这种特性可以协助应用在数据库端确保数据的完整性. 举个例子,比如你现在有两个表[用户表]和[日志表],当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编写程序语言逻辑才能实现,但是如果你定义了一个触发器,触发器的作用就是当你在用户表中插入一条数据的之后帮你在日志表中插入一条日志信息.当然触发器并不是只能进行插入操作,还能执行修改,删除 触发器的事

sql语句左链接left join--3张表关联

表A---------------------------------关联第一张表B-----------------------关联第二张表c select * fomr 表名A left join 表B  on  表A字段=表B的id left join 表c on 表A字段=表c的id

使用sql语句复制一张表

如何使用sql语句复制一张表? 第一步:先建一张新表,新表的结构与老表相等. create table newbiao like chengjibiao(老表名); 第二步:将老表中的值复制到新标中. insert into newbiao SELECT * from chengjibiao(老表名);