题目大意:
一共有四种颜色的灯RBYG,现在有!处表示这个位子的灯泡坏掉了,我们现在需要在!处放置四种颜色的灯泡,使得最终的序列,保证每连续的四个灯泡都具有四种不同的颜色。问我们需要添加多少个R,B,Y,G.
解题说明:此题是一道字符串题,四种颜色出现顺序是一定的,所以可以以4为最小单位判断坏掉的灯泡属于哪种颜色。参考http://blog.youkuaiyun.com/zhaoxinfan/article/details/54773855
#include<stdio.h>
#include<string.h>
char a[105];
int n[5];
int main()
{
int len,r,b,g,y;
int i;
gets(a);
len=strlen(a);
for(i=0;i<len;i++)
{
if(a[i]=='R')
{
r=i%4;
}
else if(a[i]=='B')
{
b=i%4;
}
else if(a[i]=='Y')
{
y=i%4;
}
else if(a[i]=='G')
{
g=i%4;
}
else
{
n[i%4]++;
}
}
printf("%d %d %d %d\n",n[r],n[b],n[y],n[g]);
return 0;
}

本文介绍了一种修复损坏的四色灯序列的算法。通过分析四种颜色(RBYG)的固定顺序,算法确定了每个损坏位置应放置的颜色,并计算出需要补充的各种颜色的数量。
796

被折叠的 条评论
为什么被折叠?



