题解 | #涂颜料#(C++)

涂颜料

https://www.nowcoder.com/practice/4ef038ae1c5f4524b8a8a0c1e6b062a1

解题方法:差分数组。需要注意对未涂色的判断(0表示未涂色)

#include <iostream>
using namespace std;
const int MAXN = 1e6+10;
int n;
int a[MAXN];
int main() {
    scanf("%d",&n);
    int q;
    scanf("%d",&q);
    while(q--){
        int l,r;
        scanf("%d%d",&l,&r);
        a[l]++;  //差分数组,a的前缀和表示多次区间修改后的值
        a[r+1]--;
    }
    for(int i=1;i<=n;++i){
        a[i] += a[i-1];
        if(a[i]==0)cout<<"O";
        else if(a[i]%3==0)cout<<"B";
        else if(a[i]%3==1)cout<<"R";
        else cout<<"G";
    }
    cout<<endl;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

站队站对牛:进度也算很慢的了
点赞 评论 收藏
分享
03-29 18:59
运城学院 Java
程序员小白条:咱们要对自己的简历和学历有清晰的认知,不要动不动就大厂了....都26届了,没实习还想着大厂,唉
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务