题解 P4439 【[COCI2017-2018#3] Aron】
自我感觉方法还是挺简单的。
题目描述相当于一块一块的人,我们只要统计出一共有几块人,然后再+1,就是Aron的位置。
而找几块人,我们不需要把每个人的衣服颜色都记下来,我们只需要记下一个变量,记录上一个人的衣服颜色,和这个人的衣服颜色进行比较,如果一样,则属于同一块,跳过,继续找下一个人。如果不一样,则说明不属于同一块,那么则ans人数++,变量k为当前人的衣服颜色。
接下来就是代码了,我们只需要从1~n扫一遍,统计一下ans,即可得出答案。
#include<bits/stdc++.h>
using namespace std;
int n,ans;
int main(){
scanf("%d",&n);
char k='#';//变量K,题目给出衣服颜色一定是大写字母,所以我们初始化一个#。
for(int i=1;i<=n;i++){//循环
char s;//当前人的衣服颜色
cin>>s;
if(s==k)continue;//属于同一块
ans++;
k=s;
}ans++;
printf("%d",ans);//输出答案
return 0;
}
好了,(只是突然发现红题又新加了一道,所以来发篇题解,第一篇题解,望能过) 祝大家AC~