问题标题: 酷町堂:5357 最急救助

0
0
已解决
李显晨
李显晨
中级启示者
中级启示者
#include <iostream>
#include <string>
using namespace std;
int n,maxn,cnt[110];
string a[110],cd[110];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i]>>cd[i];
    for(int i=1;i<=n;i++){
        for(int j=0;j<cd[i].size();j++){
            for(int k=j+1;k<cd[i].size();k++){
                for(int z=k+1;z<cd[i].size();z++){
                    if(cd[i][j]=='s'&&cd[i][k]=='o'&&cd[i][z]=='s') cnt[i]++;
                }
            }
        }
    }
    for(int i=1;i<=n;i++) maxn=max(maxn,cnt[i]);
    for(int i=1;i<=n;i++){
        if(cnt[i]==maxn) cout<<a[i]<<" ";
    }
    cout<<endl<<maxn;
    return 0;
}

以上是我的代码,连样例都没过

求找错!!!


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

sos个数不是这样找的

应该这样

int f(string s){
    int t=0; 
    for(int i=0;i<s.size()-2;i++){
        if(s[i]=='s'&&s[i+1]=='o'&&s[i+2]=='s') t++;
    }
    return t;
}

 

0
0
赵睿泽
赵睿泽
资深守护
资深守护

你竟然把打卡题在问答里求助?!

0
我要回答