P1308 [NOIP2011 普及组] 统计单词数

P1308 [NOIP2011 普及组] 统计单词数

复健计划第一题

大小写字母(a与A)编号相差32

string输入用getline

输出用puts

复制代码
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
string a,b;
int la,lb;
void chk(int i){
    if('a'<=b[i]&&b[i]<='z') b[i]-=32;
}
void solve(){
    int fi=-1,t=0; chk(0);
    for(int i=0,j;i<lb;chk(++i)){
        for(j=0;j<la;++j,chk(++i))
            if(i==lb||a[j]!=b[i]) break;
    //    printf("%d -- %d :",i,j);
    //    cout<<a[i]<<endl;
        if(j==la&&b[i]==' '){
        //    printf("ok\n");
            if(fi==-1) fi=i-la;
            ++t;
        }else while(b[i]!=' '&&i<lb) ++i;
    }
    if(t!=0) printf("%d %d",t,fi);
    else printf("-1");
}
int main(){
//    freopen("P1308_1.in","r",stdin);
    getline(cin,a); la=a.size();
    getline(cin,b); lb=b.size();
//    cout<<a<<endl<<b<<endl;
    for(int i=0;i<la;++i)
        if('a'<=a[i]&&a[i]<='z') a[i]-=32;
    solve();
    return 0;
}
复制代码

 

posted @   kafuuchino  阅读(506)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示