NYOJ 1112 求次方(map)
来源:互联网 发布:地方性银行排名知乎 编辑:程序博客网 时间:2024/05/19 03:27
求次数
时间限制:1000 ms | 内存限制:65535 KB
难度:2
- 描述
题意很简单,给一个数n 以及一个字符串str,区间【i,i+n-1】 为一个新的字符串,i 属于【0,strlen(str)】如果新的字符串出现过ans++,例如:acmacm n=3,那么 子串为acm cma mac acm ,只有acm出现过
求ans;
- 输入
- LINE 1: T组数据(T<10)
LINE 2: n ,n <= 10,且小于strlen(str);
LINE 3:str
str 仅包含英文小写字母 ,切长度小于10w - 输出
- 求 ans
- 样例输入
22aaaaaaa3acmacm
- 样例输出
51
还是直接上代码:
#include<map>#include<stdio.h>#include<string.h>#include<math.h>#include<iostream>#include<algorithm>#include<sstream>#include<set>#include<stack>#define id 3.1415926535using namespace std;int main(){ int t; scanf("%d",&t); while(t--) { int n; string a; scanf("%d",&n); cin>>a;//因为把a定义为字符型的啦所以要用cin输入 int l=a.size();//字符串的长度 map<string,int>s;//建一个map容器里面存放字符串和数字 string ss; int ans=0; for(int i=0;i<l-n+1;i++)//因为每次都要取n个字符所以i最大为l-n
{ ss=a.substr(i,n);//substr(i,n)是指从i位置开始往后取n个的字符串 if(s[ss]==1)//如果字符串出现过ans就加一 { ans++; } else { s[ss]=1;如果没有出现就让字符串标记为一 } } printf("%d\n",ans);//输出结果 } return 0;}
0 0
- NYOJ 1112 求次方(map)
- NYOJ - 次方求模
- NYOJ-次方求模
- nyoj 次方求模
- NYOJ 次方求模
- 次方求模 NYOJ
- NYOJ 1112 求次数(map容器)
- NYOJ 1112 求次数 (map)
- NYOJ 1112 求次数(map)
- NYOJ 1112 求次数(map)
- NYOJ 1112 求次数 (map)
- NYOJ-102:次方求模
- nyoj-102-次方求模
- NYOJ-102-次方求模
- NYOJ 102 次方求模
- NYOJ 102 次方求模
- nyoj 102 次方求模
- Nyoj 102 次方求模
- 彻底理解树状数组
- Redis主从复制和集群配置
- 致eclipse在空闲时CPU一直占用100%或50%的原因及解决
- Java数据类型和引用
- android 根据CPU类型(通常称为”ABIs”)进行编译
- NYOJ 1112 求次方(map)
- Word2vec 句向量模型PV-DM与PV-DBOW
- [Codeforces 217B] Blackboard Fibonacci (菲波那契数列 + 更相减损术)
- php实现冒泡排序
- Java执行js文件
- 为什么ConcurrentHashMap是弱一致的
- POJ 2253 Frogger 【Floyd】
- 字符,字节和编码
- struts2实现收入校验源代码