南阳oj 求次数 题目1112



/*

求次数

时间限制: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样例输入2

2

aaaaaaa

3

acmacm

样例输出5

1

大概题意是给一个字符串  给一个数N  按照N来分割字符串   得到新的字符串看看在后边有没有出现  记录出现的次数

*/

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

using namespace std;

const   int maxn=100010;

char str[maxn][20],s[maxn];//二维数组模拟

int cmp(const void* _a,const void* _b){

char* a=(char*)_a;

char* b=(char*)_b;

return strcmp(a,b);

}

int main()

{

int t,l,n,ans,i,j,e;

while(scanf("%d",&t)==1){

while(t--)

{

scanf("%d",&n);

getchar();

gets(s);

l=strlen(s);

for(i=0;i<l-n+1;++i){//分隔字符串

e=i;

for(j=0;j<n;++j){

str[i][j]=s[e++];

}

str[i][j]=‘\0‘;

}ans=0;

qsort(str,i,sizeof(str[0]),cmp);

for(j=1;j<i;++j){

if(strcmp(str[j],str[j-1])==0)

ans++;

}

printf("%d\n",ans);

}

}

return 0;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 17:48:10

南阳oj 求次数 题目1112的相关文章

南阳 oj 重建二叉树 题目756

 #include <stdio.h> #include <malloc.h> #include <string.h> //二叉链表 typedef struct node{ char data;//节点数据元素 struct node *lchild;//指向左孩子 struct node *rchild;//指向右孩子 }BiNode,*BTree; //利用后序和中序建立二叉树 void GetPreOrder(char *last,char *mid,BTr

南阳oj A+BproblemII 题目103

 和HDUOJ上的一模一样  就找搬过来了 #include<stdio.h> #include<string.h> #define N 1000 char x[N],y[N]; int a[N+1]; int main() { int g,h=0; scanf("%d",&g); while(g--) { int k1,k2,t=0,m,n,k,i,j,l; scanf("%s %s",x,y); k1=strlen(x); k

南阳oj Registration system 题目991

 #include<stdio.h> #include<stdlib.h> #include<string.h> char a[105][1000];//二维数组模拟  就OK int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%s",a[i]); int num=0; for(int j=0;j<i;j++) { if(j!

南阳oj 小猴子下落 题目63

 #include<iostream> #include<string.h> #include<stdio.h> #include<algorithm> #include<math.h> #include<stdlib.h> using namespace std; int main() { int d, I; while(scanf("%d%d",&d,&I)&&(d+I))

【南阳OJ分类之语言入门】80题题目+AC代码汇总

声明: 题目部分皆为南阳OJ题目. 代码部分包含AC代码(可能不止一个)和最优代码,大部分都是本人写的,并且大部分为c代码和少部分c++代码and极少java代码,但基本都是c语言知识点,没有太多差别,可能代码有的写的比较丑,毕竟知识有限. 语言入门部分题基本都较为简单,是学习编程入门的很好练习,也是ACM的第一步,入门的最佳方法,望认真对待. 本文由csdn-jtahstu原创,转载请注明出处,欢迎志同道合的朋友一起交流学习.本人QQ:1373758426和csdn博客地址. now begi

【南阳OJ分类之大数问题】题目+AC代码汇总

声明:题目部分皆为南阳OJ题目,代码部分包含AC代码(可能不止一个)和标程. 由于大数问题用c/c++写比较麻烦,而Java的大数类又很好用,所以基本为java代码.实际上竞赛很少会考大数问题,因为竞赛是比的算法,而不是语言特性,不过很多都是大数据,数据上千万级别的,所以算法又很关键,显然那和这篇博客也没啥关系. 题目不是太难,大家和本人就权当学习或复习下Java吧O(∩_∩)O~. 该分类南阳oj地址:http://acm.nyist.edu.cn/JudgeOnline/problemset

nyoj 1112 求次数(map, set)

求次数 时间限制: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:strstr 仅包含英文小

NYoj 1112 求次数 【水】

求次数 时间限制: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 仅包含

NYOJ---题目1112求次数

求次数 时间限制: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 仅包含