zoukankan      html  css  js  c++  java
  • CF 631B 题解

    题面

    注意到每次只染色一行或者一列,那么我们最后输出第i行第j列的数字是多少的时候只需要看一下最后一次i行和第j行被染了什么颜色,所以我们需要对每一行和一列记录最后一次染色的颜色

    但是我们也需要比较是行比列后染色还是列比行后染色,所以我们还需要记录一下每行每列染色的最后时间

    然后模拟即可

    #include <cstdio>
    #include <iostream>
    using namespace std;
    int x[1000010],y[1000010],z[1000010];
    int line[1010],cnt1,row[1010],cnt2;
    int bo1[1010],bo2[1010];
    int a[1010][1010];
    int main() {
        freopen("matrix.in","r",stdin);
        freopen("matrix.out","w",stdout);
        int n,m,q;
        scanf("%d%d%d",&n,&m,&q);
        for(register int i=1;i<=q;i++){
            scanf("%d%d%d",&x[i],&y[i],&z[i]);
        }
        for(register int i=q;i>=1;i--){
            if(x[i]==1){
                if(bo2[y[i]]==0){
                    row[++cnt2]=i;
                    bo2[y[i]]=1;
                }
            }
            if(x[i]==2){
                if(bo1[y[i]]==0){
                    line[++cnt1]=i;
                    bo1[y[i]]=1;
                }
            }
        }
        register int l1=cnt1,l2=cnt2;
        while(l1>0&&l2>0){
            if(row[l2]<line[l1]){
                for(register int j=1;j<=m;j++){
                    a[y[row[l2]]][j]=z[row[l2]];
                }
                --l2;
            }
            else{
                for(register int j=1;j<=n;j++){
                    a[j][y[line[l1]]]=z[line[l1]];
                }
                --l1;
            }
        }
        while(l1>0){
            for(register int j=1;j<=n;j++){
                a[j][y[line[l1]]]=z[line[l1]];
            }
            --l1;
        }
        while(l2>0){
            for(register int j=1;j<=m;j++){
                a[y[row[l2]]][j]=z[row[l2]];
            }
            --l2;
        }
        for(register int i=1;i<=n;i++){
            for(register int j=1;j<=m;j++){
                printf("%d ",a[i][j]);
            }
            printf("
    ");
        }
        return 0;
    }
    /*
    3 3 3
    1 1 3
    2 2 1
    1 2 2
    
    5 3 5
    1 1 1
    1 3 1
    1 5 1
    2 1 1
    2 3 1
    
    6 4 9
    1 1 1
    1 3 2
    1 4 3
    2 2 4
    1 2 5
    2 3 6
    1 4 7
    2 2 1
    1 2 1
    
    */
  • 相关阅读:
    mssql锁
    gridview 分页兼容BOOTSTRAP
    BOOTSTRAP前端模板
    bootstrap 简单模板
    ajax 跨域访问的解决方案
    webapi之权限验证
    webapi权限常见错误
    ajax跨域解决方案
    iis 部署webapi常见错误及解决方案
    OOM AutoMapper的简单实用
  • 原文地址:https://www.cnblogs.com/kamimxr/p/11481262.html
Copyright © 2011-2022 走看看