贝茜把N (1 <= N <= 80)粒蓝色和橙色的珠子连成了一串,问有多少对珠子(相邻的)是不同颜色的。
输入格式
第一行,一个整数N;
第二行,N个数字(0或1),其中0表示橙色,1表示蓝色。
输出格式
输出相邻两粒珠是不同颜色的对数。
输入/输出例子1
输入:
6
1 0 0 1 1 1
输出:
2
样例解释
第1粒与第2粒不同颜色,第3粒与第4粒不同颜色
代码解释:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;//n个珠子
int a[81];
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];//输入每颗珠子的颜色
}
int sum=0;//定义变量sum来统计不同颜色的相邻珠子
for(int i=1;i<=n-1;i++){
if(a[i]!=a[i+1]){
sum++;//如果第i颗珠子和i+1(下一颗)颗珠子颜色不同,sum++
}
}
if(a[1]!=a[n]){//因为把珠子连成了一环,所以a[1]和a[n]实际上是相连的
sum++;
}
cout<<sum;
return 0;
}
总体代码(无注释)
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
int a[81];
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int sum=0;
for(int i=1;i<=n-1;i++){
if(a[i]!=a[i+1]){
sum++;
}
}
if(a[1]!=a[n]){
sum++;
}
cout<<sum;
return 0;
}
好了,这期题目讲解到此结束,请给我一个点赞、关注、评论,谢谢。