解法:
暴力
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
#define endl '\n'
int main() {
int n, m, sum = 1;
cin >> n >> m;
string s;
cin >> s;
int pre = s[0] - '0';
int t = 0;
for (int i = 1; i < s.size(); i++) {
t = t * 10 + (s[i] - '0');
if (t > pre) {
sum++;
pre = t;
t = 0;
}
}
if (sum >= m) cout << "miaomiao";
else cout << "wangwang";
return 0;
}
解法二:
感谢dalao的分享
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,sum,t=1,x,d,b[1000001],c,flag;
string a;
signed main()
{
ios::sync_with_stdio(false),
cin.tie(0),cout.tie(0);
cin>>n>>m;
cin>>a;
for(int i=0;i<n;i++)
b[i]=a[i]-'0';
c=b[0];
for(int i=1;i<n;i++)
{
if(b[i]>c)
{
t++;
c=b[i];
}
else
{
d=0;
flag=0;
while(d<=c&&i<n)
{
d=d*10+b[i];
i++;
if(d>c) flag=1;
}
if(flag)
{
t++;
c=d;
}
i--;
}
}
if(t>=m) cout<<"miaomiao"<<endl;
else cout<<"wangwang"<<endl;
}