1 条题解
-
2
一种很暴力的思路
只是不会其他的qwq代码如下:
#include <bits/stdc++.h> using namespace std; void turn(char a[],int len) { for(int i=0;i<len;i++) { if(a[i]>=65&&a[i]<=90) { a[i]=a[i]-'A'+'a'; } } } char sen[1000001]; int main() { char w[101]; cin.getline(w,101); cin.getline(sen,1000000001); //输入单词,句子 int sl=strlen(sen); int wl=strlen(w); turn(sen,sl); //大写转小写 turn(w,wl); int sum=0; //出现次数 int first=-1; //第一次出现位置 int start=0; //单词开头 bool same=true; //是否正确 for(int i=0;i<=sl;i++) { if(i==sl||sen[i]==' ') //空格前一个单词或最后一个单词 { if(i-start==wl) //求单词长度(不对直接跳) { same=true; for(int j=0;j<wl;j++) { if(sen[start+j]!=w[j]) same=false; } if(same) { sum++; if(first==-1) first=start; } } start=i+1; } } if(first!=-1) //判断是否找到过 cout<<sum<<' '<<first; else cout<<"-1"<<endl; return 0; }亲测AC~
从蒟蒻开始的异oj生活
信息
- ID
- 587
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者