📄 1181.c
字号:
#include <stdio.h>
char Ch[1001];
int Sh[1001]={0},n,V,Count=0,dig[3][1001]={0};
Readata()
{
int i;
scanf("%d",&n);
for(i=0;i<=n;i++)
scanf("%c",&Ch[i]);
}
Findnext()
{
int Sat,i,S1,S2,S3,Te1,Te2,V1=1,V2=1,V3=1;
S1=0;S2=0;S3=0;
for(i=1;i<=V;i++)
{
if(Ch[i]=='G') S1++;
if(Ch[i]=='B') S2++;
if(Ch[i]=='R') S3++;
}
for(i=1;i<=V;i++)
{
Sat=1;
Te1=(i+1)%V;
Te2=(i+2)%V;
if(Te1==0) Te1=V;
if(Te2==0) Te2=V;
if((Ch[i]!=Ch[Te1])&&(Ch[i]!=Ch[Te2])&&(Ch[Te1]!=Ch[Te2]))
{
if((Ch[Te1]=='G')&&(S1=1)) Sat=0;
if((Ch[Te1]=='B')&&(S2=1)) Sat=0;
if((Ch[Te1]=='R')&&(S3=1)) Sat=0;
if(Sat)
{
V1=i;
V2=Te1;
V3=Te2;
}
}
}
Count++;
dig[1][Count]=Sh[V1];
dig[2][Count]=Sh[V3];
for(i=V2+1;i<=V;i++)
{
Sh[i-1]=Sh[i];
Ch[i-1]=Ch[i];
}
V--;
}
Writedata()
{
int i;
printf("%d\n",n-3);
for(i=1;i<=Count;i++)
printf("%d %d\n",dig[1][i],dig[2][i]);
}
main()
{
int i;
Readata();
for(i=1;i<=n;i++)
Sh[i]=i;
V=n;
for(i=1;i<=n-3;i++)
Findnext();
Writedata();
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -