1941. Scary Martian Word

这道题 一个长度为3的字符串视为 一个 火星文 字母(ASCII 33-122) ,给出一个火星人认为恐怖的单词(由火星字母组成)

然后 给你一篇文章问你火星人认为恐怖的单词个数(可以乱序)

嗯,一开始题意理解错了。。。然后就错了

彬神说……是双端队列

然后写了,感觉自己真是对对对的……

嗯,过度自信,起始忽略了一个条件。

做法,因为是三个单词 122+122*10+122*100 也就差不多了

然后哈希。数组标记,

懒得写了……

贴代码……

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <string>
#include <sstream>
using namespace std;
typedef long long ll;
const double ESP = 10e-;
const int MAXN = + ; int vis[MAXN];
int num[MAXN];
int arr[MAXN];
int n;
char word[MAXN*+];
int main(){
// freopen("input.txt","r",stdin); int ans = ;
memset(num,,sizeof(num));
n = ;
gets(word);
int len = strlen(word);
for(int i = ;i < len;i+=){
int tt = (word[i]-) + (word[i+]-)*+(word[i+]-)*;
num[tt]++;
if(num[tt] == ){
n++;
}
}
gets(word);
len = strlen(word);
memset(arr,-,sizeof(arr));
int cnt = ;
for(int i = ;i < len;i+=){
int tt = (word[i]-) + (word[i+]-)*+(word[i+]-)*;
if(num[tt]){
arr[cnt++] = tt;
}
}
int l = ;
int r = ;
memset(vis,,sizeof(vis));
int nn = ;
while(l < cnt && r < cnt){
if(arr[r] != -){
vis[ arr[r] ]++;
if(vis[arr[r]] == num[arr[r] ]){
nn++;
}else if(vis[ arr[r] ] > num[ arr[r] ]){
while(l < cnt && arr[l] != arr[r]){
if(vis[arr[l] ] == num[arr[l] ]){
nn--;
}
vis[ arr[l] ]--;
l++;
}
vis[ arr[l]]--;
l++;
}
if(nn == n){
ans++;
vis[arr[l]]--;
nn--;
l++;
}
r++;
}else{
nn = ;
memset(vis,,sizeof(vis));
r++;
l = r;
}
}
printf("%d\n",ans);
return ;
}

不写注释的果然不是好程序员……

1941. Scary Martian Word的更多相关文章

  1. 哈希URAL 1941 - Scary Martian Word

    A - Scary Martian Word Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I ...

  2. Codeforces 149 E. Martian Strings

    正反两遍扩展KMP,维护公共长度为L时.出如今最左边和最右边的位置. . .. 然后枚举推断... E. Martian Strings time limit per test 2 seconds m ...

  3. xtu summer individual-4 D - Martian Strings

    Martian Strings Time Limit: 2000ms Memory Limit: 262144KB This problem will be judged on CodeForces. ...

  4. Word/Excel 在线预览

    前言 近日项目中做到一个功能,需要上传附件后能够在线预览.之前也没做过这类似的,于是乎就查找了相关资料,.net实现Office文件预览大概有这几种方式: ① 使用Microsoft的Office组件 ...

  5. C#中5步完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...

  6. C# 给word文档添加水印

    和PDF一样,在word中,水印也分为图片水印和文本水印,给文档添加图片水印可以使文档变得更为美观,更具有吸引力.文本水印则可以保护文档,提醒别人该文档是受版权保护的,不能随意抄袭.前面我分享了如何给 ...

  7. 获取打开的Word文档

    using Word = Microsoft.Office.Interop.Word; int _getApplicationErrorCount=0; bool _isMsOffice = true ...

  8. How to accept Track changes in Microsoft Word 2010?

    "Track changes" is wonderful and remarkable tool of Microsoft Word 2010. The feature allow ...

  9. C#将Word转换成PDF方法总结(基于Office和WPS两种方案)

    有时候,我们需要在线上预览word文档,当然我们可以用NPOI抽出Word中的文字和表格,然后显示到网页上面,但是这样会丢失掉Word中原有的格式和图片.一个比较好的办法就是将word转换成pdf,然 ...

随机推荐

  1. 条码知识之九:EAN-128条码(上)

     EAN-128码,现称GS1-128码,是专用于GS1系统中的条码,可以标注商品的附加信息,在商品信息的标识.产品的跟踪与追溯中有广泛的用途. EAN-128码来自于CODE-128码,在字符集.条 ...

  2. qt实现-给SQLITE添加自定义函数

    需要使用sqlite里的password对某个字段进行加密,由于使用的sqlite是由QT封装好的QSqlDatabase,没有发现加载扩展函数的方法,所以自己实现了一个. 在网上也没找到相应的参考, ...

  3. Qt 学习 之 二进制文件读写

    在上一章中,我们介绍了有关QFile和QFileInfo两个类的使用.我们提到,QIODevice提供了read().readLine()等基本的操作.同时,Qt 还提供了更高一级的操作:用于二进制的 ...

  4. Java学习笔记51:数组转ArrayList和ArrayList转数组技巧

    ArrayList转数组: public class Test { public static void main(String[] args) { List<String> list = ...

  5. STL--stack/queue的使用方法

    stack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现. 准确地说,STL中的stack和queue不同于vect ...

  6. 文件队列 QueueFile

    /** * Copyright (C) 2010 Square, Inc. * * Licensed under the Apache License, Version 2.0 (the " ...

  7. delphi DCC32命令行方式编译delphi工程源码

    本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/10284879 作者:苏生米沿 Borland出品的Delphi,在TIOBE公布的 ...

  8. Javascript-one

    今天,学习Javascript第一天,学习了一些基本的概念,下面就对今天所学的知识进行一个整理,回顾吧! 首先,将Javascript代码包含在(X)html文档中,主要的方法是使用<scrip ...

  9. ThinkPHP - F函数,更新配置文件

    Html代码: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&quo ...

  10. ThinkPHP - 独立分组项目搭建

    配置文件: <?php return array( //独立分组 'APP_GROUP_LIST' => 'Home,Admin', //分组列表 'APP_GROUP_MODE' =&g ...