⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1181.pas

📁 平时acm训练时ac的源代码
💻 PAS
字号:
Var
        Ch                      :Array[1..1000] OF Char;
        Sh                      :Array[1..1000] OF integer;
        n                       :integer;
        V,Count                 :integer;
        dig                     :Array[1..2,1..1000] OF integer;
Procedure Readata;
Var
        i                       :integer;
Begin
        Readln(n);
        For i:=1 To n do
          Read(Ch[i]);
End;

Procedure Findnext;
Var
        Sat                     :Boolean;
        i,S1,S2,S3,
        Te1,Te2,V1,V2,V3                 :integer;
Begin
        S1:=0;S2:=0;S3:=0;
        For i:=1 To v do
          Begin
              IF Ch[i]='G' Then inc(S1);
              IF Ch[i]='B' Then inc(S2);
              IF Ch[i]='R' Then inc(S3);
          End;
        For i:=1 To v do
         Begin
              Sat:=True;
              Te1:=(i+1) mod v;
              Te2:=(i+2) mod v;
              IF Te1=0 Then Te1:=v;
              IF Te2=0 Then Te2:=v;
              IF (Ch[i]<>Ch[Te1]) and (Ch[i]<>Ch[Te2]) and (Ch[Te1]
<>Ch[Te2]) Then
              Begin
                   IF (Ch[Te1]='G') and (S1=1) Then Sat:=False;
                   IF (Ch[Te1]='B') and (S2=1) Then Sat:=False;
                   IF (Ch[Te1]='R') and (S3=1) Then Sat:=False;
                   IF Sat Then
                    Begin
                         V1:=i;
                         V2:=Te1;
                         V3:=Te2;
                    End;
              End;
         End;
        inc(Count);
        dig[1,Count]:=Sh[V1];
        dig[2,Count]:=Sh[V3];
        For i:=V2+1 To V do
          Begin
              Sh[i-1]:=Sh[i];
              Ch[i-1]:=Ch[i];
          End;
        dec(V);
End;

Procedure Writedata;
Var
        i                       :integer;
Begin
        Writeln(n-3);
        For i:=1 To Count do
          Writeln(dig[1,i],' ',dig[2,i]);
End;

Var
        i                       :integer;
Begin
     Readata;
     For i:=1 To n do
       Sh[i]:=i;
     V:=n;
     For i:=1 To n-3 do
        Findnext;
     Writedata;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -