北邮新OJ94
2014-04-09 23:13
309 查看
http://code.bupt.edu.cn/problem/p/94/
#include<stdio.h> #include<string.h> #include<vector> #include<stdlib.h> using namespace std; int main() { int N; scanf("%d",&N); for(int k=1;k<=N;k++) { vector<int> * p; p=new vector<int> [27];//代表26个字母 char s[100005]; memset(s,0,sizeof(s)); getchar(); scanf("%s",s); int len=strlen(s); for(int i=0;i<len;i++) p[s[i]-'a'+1].push_back(i); int n; scanf("%d",&n); for(int i=1;i<=n;i++) { getchar(); char tmp[20]; scanf("%s",tmp); if(strcmp(tmp,"INSERT")==0) { char ch; getchar(); scanf("%c",&ch); s[len]=ch; p[ch-'a'+1].push_back(len); len++; s[len]='\0'; } else if(strcmp(tmp,"QUERY")==0) { int x; scanf("%d",&x); if(p[s[x]-'a'+1].size()==1) printf("-1\n"); else { int min=0x7ffff; for(int j=0;j<p[s[x]-'a'+1].size();j++) if(abs(p[s[x]-'a'+1][j]-x)<min&&abs(p[s[x]-'a'+1][j]-x)!=0) min=abs(p[s[x]-'a'+1][j]-x); printf("%d\n",min); } } else ; } } //system("pause"); return 0; }
相关文章推荐
- 北邮OJ-94. 最小距离查询-13计院上机D
- 北邮OJ-268-进程管理-14网研上机C
- 北邮OJ-276. 中位数-14计院上机A
- 北邮OJ-92. 统计节点个数-13计院上机B
- 北邮OJ 1010. 16校赛-Binary Strings
- 北邮OJ上的题目——1557
- 数组实现二叉树遍历 (北邮OJ)
- 北邮OJ 最小距离查询
- 北邮OJ-277. 内存分配-14计院上机B
- 北邮OJ-93. 中序遍历序列-13计院上机C
- 北邮OJ 255. 奇偶求和-软件14 2014年北京邮电大学软件工程学院研究生复试
- 北邮OJ 1021. 16校赛-Stone Game
- 北邮OJ上的题目——1553
- 北邮新OJ98
- 北邮OJ-278. 图像识别-14计院上机C
- 北邮OJ-103. 反转单词-11计院上机A
- 【北邮OJ】266. 分数加法-网研14
- 北邮OJ 102. 最远距离 北邮2012网研院复试上机题
- 北邮oj 题
- 北邮OJ 1022. 16校赛-Saber's Board