- IOI 串
80分
- @ 2026-6-18 16:56:13
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s;
int top,a[100005],top1,b[100005],ans;
signed main(){
cin>>s;
int len=s.size();
for(int i = 0;i<len;i++){
if(s[i]=='I')a[++top]=i;
else b[++top1]=i;
}
if(top==0){
cout<<2;
return 0;
}
if(top1==0){
cout<<1;
return 0;
}
for(int i = 1;i<=top1;i++){
if(b[i]-1!=b[i-1]&&i!=1)ans++;
}
cout<<ans;
return 0;
}
1 条评论
-
xuruicheng LV 6 @ 2026-7-31 19:58:37#include <bits/stdc++.h> using namespace std; #define int long long string s; int si[5010],so[5010],ans=LLONG_MAX; signed main(){ cin>>s; for(int i=1;i<=s.size();i++){ if(s[i-1]=='I')si[i]=si[i-1]+1; else si[i]=si[i-1]; if(s[i-1]=='O')so[i]=so[i-1]+1; else so[i]=so[i-1]; } int len=s.size(); for(int i=1;i<=len-2;i++){ for(int j=i+1;j<=len-1;j++){ int s1=so[i],s2=si[j]-si[i],s3=so[len]-so[j]; int wbl=s1+s2+s3; ans=min(ans,wbl); } } cout<<ans; return 0; }
- 1
信息
- ID
- 4580
- 时间
- ms
- 内存
- MiB
- 难度
- 7
- 标签
- 递交数
- 33
- 已通过
- 15
- 上传者