Codeforces626B - Cards【模拟】

    xiaoxiao2025-01-25  5

    题意: 两张相同可以合并成相同; 两张不同可以产生另外一个不同; 求最终的可能颜色; 思路: 模拟啊。 总共也就那么几种情况,具体看挫code…….

    #include<iostream> #include<cstdio> #include<map> #include<set> #include<string> #include<queue> #include<math.h> #include<string.h> #include<algorithm> using namespace std; #define eps 1e-8 typedef __int64 LL; char s[220]; int num[4]; char temp[4]; int main() { int n; scanf("%d",&n); scanf("%s",s); memset(num,0,sizeof(num)); temp[1]='B';temp[2]='G';temp[3]='R'; for(int i=0;i<n;i++) { if(s[i]=='B') num[1]++; if(s[i]=='G') num[2]++; if(s[i]=='R') num[3]++; } int x=0; for(int i=1;i<=3;i++) { if(!num[i]) x++; } if(x==2)//有两个0; { for(int i=1;i<=3;i++) if(num[i]) printf("%c",temp[i]); return 0; } if(x==1)//有一个0; { int g=0; for(int i=1;i<=3;i++) { if(num[i]==1) g++; } if(g==2)//有两个1,颜色为0的那个 { for(int i=1;i<=3;i++) if(!num[i]) printf("%c",temp[i]); return 0; } if(g==1)//有一个1,颜色为0和1个的那个 { for(int i=1;i<=3;i++) if(num[i]==1||!num[i]) printf("%c",temp[i]); return 0; } } printf("BGR"); return 0; } /* 2 BG 2 BR 2 GR 6 BGGGGG->BR 5 BGGGG ->BR */
    转载请注明原文地址: https://ju.6miu.com/read-1295748.html
    最新回复(0)