G 虚空之力
贪心的思想。
尽量运用一二得二的方式。
如果,那么结果就是
反之结果就是,因为必被耗完,而正巧的是减多少,结果就加多少,所以一一对应就可以了。
#include<bits/stdc++.h> using namespace std; #define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int inf=0x3f3f3f3f; string s; int k,i,n,g,ans; int main() { IOS; cin>>n; cin>>s; n=0; for(int j=0;j<s.size();j++){ if(s[j]=='k') k++; if(s[j]=='i') i++; if(s[j]=='n') n++; if(s[j]=='g') g++; } ans=min(g,min(i,n)); int maxn=-inf; if(2*k<=ans) maxn=2*k; else maxn=ans; cout<<maxn<<endl; return 0; }