首页 > 代码库 > NOI元丹
NOI元丹
#include<iostream>#include<cstring>using namespace std;string a,c="O",d="I";int len,aa[10000],N,O,I,maxx;int main(){ cin>>len>>a; for(int i=len-1;i>=0;i--){ if(a[i]==‘N‘){ N+=O; aa[i]=N; } if(a[i]==‘O‘){ O+=I; aa[i]=O; } if(a[i]==‘I‘){ I++; aa[i]=I; } } maxx=N+O; d=a+d; N=0; O=0; I=0; for(int i=len;i>=0;i--){ if(d[i]==‘N‘){ N+=O; aa[i]=N; } if(d[i]==‘O‘){ O+=I; aa[i]=O; } if(d[i]==‘I‘){ I++; aa[i]=I; } } if(N>maxx)maxx=aa[0]; for(int i=len-1;i>=0;i--){ if(a[i]==‘N‘){ a.insert(i+1,c); break; } } N=0; O=0; I=0; for(int i=len;i>=0;i--){ if(a[i]==‘N‘){ N+=O; aa[i]=N; } if(a[i]==‘O‘){ O+=I; aa[i]=O; } if(a[i]==‘I‘){ I++; aa[i]=I; } } if(N>maxx)maxx=aa[0]; cout<<maxx; return 0;}
54 NONOONIONIINIOOONONIIIINNONOINOONNOOIIOIOIOIINONNNIOON
10 ONNINNONNI
NOI元丹
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。