zfchna 2021-11-02 16:01 采纳率: 50%
浏览 2
已结题

codeforce B - Mocha and Red and Blue代码超时



```c++
#include<stdio.h>
    #include<iostream>
    #include<string.h>
    using namespace std;
    int main()
    {
        int t;
        scanf("%d",&t);
        char a[101];
        while(t--)
        {
            memset(a,0,sizeof a);
            int n;
            scanf("%d",&n);            
            scanf("%s",&a);
            int k;
            for(int i=0;i<n;i++)
            {
                if(a[i]!='?')
                {
                    k=i;
                    break; 
                }
            }
            for(int i=k+1;i<n;i++)
            {
                if(a[i]=='?')
                {
                    if(a[i-1]=='B')a[i]='R';
                    else a[i]='B';
                }
            }
            for(int i=k-i;i>=0;i--)
            {
                if(a[i]=='?')
                {
                    if(a[i+1]=='B')a[i]='R';
                    else a[i]='B';
                }
             }
            printf("%s\n",a);
        }
        return 0;
    }

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    using namespace std;
    int main()
    {
        int a;
        scanf("%d",&a);
        char s[101];
        while(a--)
        {
            int q;
            memset(s,0,sizeof s);
            scanf("%d",&q);
            scanf("%s",&s);
            int f=0;//初始化,当第一位是?,即可判断
            for(int i=0; i<=q-1; i++)
            {
                if(s[i]!='?')
                {
                    f=i;
                    //printf("%d\n",f);
                    break;
                }
            }//
            for(int i=f; i>=0; i--)
                if(s[i]=='?')
                    if(s[i+1]=='R')
                        s[i]='B';
                    else
                        s[i]='R';
            for(int i=f; i<q; i++)
                if(s[i]=='?')
                    if(s[i-1]=='R')
                        s[i]='B';
                    else
                        s[i]='R';
            puts(s);
        }
     
    }

这是别人写的不知道为啥看着基本相同他的却能通过而我的却超时,求解。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月10日
    • 创建了问题 11月2日

    悬赏问题

    • ¥15 悬赏Python-playwright部署在centos7上
    • ¥15 psoc creator软件有没有人能远程安装啊
    • ¥15 快速扫描算法求解Eikonal方程咨询
    • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
    • ¥30 关于R语言运行分区生存模型中的问题!
    • ¥15 校内二手商品转让网站
    • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
    • ¥100 求Web版SPC控制图程序包调式
    • ¥20 指导如何跑通以下两个Github代码
    • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀