CodeForces 631 B.Print Check(水~)

news/2024/7/3 3:39:54

Description
给出一个n*m的网格图,起初所有格子颜色都是0,之后k次操作,每次把某一行或某一列涂成某种颜色,要求输出操作完后所有格子的颜色
Input
第一行三个整数n,m,k分别表示网格图的规模和操作数,之后k行每行三个整数op x c表示一次操作,op=1表示将第x行染成c颜色,op=2表示将第x列染成c颜色(1<=n,m<=5e3,1<=n*m<=1e5,1<=k<=1e5,1<=c<=1e9)
Output
输出一个n*m矩阵表示操作完后每个格子的颜色
Sample Input
3 3 3
1 1 3
2 2 1
1 2 2
Sample Output
3 1 3
2 2 2
0 1 0
Solution
记录每行和每列的最终颜色和染上该颜色的时间,那么对于一个格子,其颜色就是其所属行和列中操作时间大的那个的最终颜色
Code

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<ctime>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
#define maxn 5555
int n,m,k,c[maxn][2],r[maxn][2];
int main()
{
    while(~scanf("%d%d%d",&n,&m,&k))
    {
        memset(c,0,sizeof(c));
        memset(r,0,sizeof(r));
        for(int i=1;i<=k;i++)
        {
            int op,x,a;
            scanf("%d%d%d",&op,&x,&a);
            if(op==1)c[x][0]=a,c[x][1]=i;
            else r[x][0]=a,r[x][1]=i;
        }
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            {
                if(c[i][1]<r[j][1])printf("%d",r[j][0]);
                else printf("%d",c[i][0]);
                printf("%c",j==m?'\n':' ');
            }
    }
    return 0;
}

http://www.niftyadmin.cn/n/3301277.html

相关文章

VC++ MFC文件的移动复制删除更名遍历操作

1&#xff0e;判断文件是否存在利用CFile类和CFileStatus类判断CFileStatus filestatus;if (CFile::GetStatus(_T("d://softist.txt"), filestatus))AfxMessageBox(_T("文件存在"));elseAfxMessageBox(_T("文件不存在"));利用CFileFind类判断CFi…

为ElasticSearch添加HTTP基本认证

ES的HTTP连接没有提供任何的权限控制措施&#xff0c;一旦部署在公共网络就容易有数据泄露的风险&#xff0c;尤其是加上类似elasticsearch-head这样友好的前端界面&#xff0c;简直让你的数据瞬间裸奔在黑客的眼皮底下。项目上线前做十万伏特的防护当然不现实&#xff0c;但至…

CodeForces 631 C.Report(单调栈)

Description 给出一个长度为n的序列a&#xff0c;两种操作&#xff1a; 1 x&#xff1a;把前x个数升序排 2 x&#xff1a;把前x个数降序排 问m次操作后的序列 Input 第一行两个整数n和m分别表示序列长度和操作数&#xff0c;之后n个整数ai表示该序列&#xff0c;最后m行每…

优酷 YouTube Twitter及JustinTV视频网站架构设计笔记

本文是整理的关于优酷、YouTube、Twitter及JustinTV几个视频网站的架构或笔记&#xff0c;对于不管是视频网站、门户网站或者其它的网站&#xff0c;在架构上都有一定的参考意义&#xff0c;毕竟成功者的背后总有值得学习的地方&#xff0c;虽然有些文章的发表时间有点久了&…

GDI+中发生一般性错误的解决办法(转)

今天在开发.net引用程序中&#xff0c;需要System.Drawing.Image.Save 创建图片&#xff0c;debug的时候程序一切正常&#xff0c;可是发布到IIS后缺提示出现“GDI中发生一般性错误”的异常。 于是开始“摆渡”&#xff0c;并寻找到了解决办法&#xff1a;赋予 NETWORK SERVICE…

Redis 下key的过期时间详解 :expire

memcached 和 redis 的set命令都有expire参数&#xff0c;可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value database&#xff0c;它的key过期策略还是和memcached有所不同的。梳理&#xff0c;整理如下&#xff1a; redis通过expire命令来设置key的过期时间…

VC 复制移动删除重命名文件文件

说明&#xff1a;1.以下封装了4个函数_CopyFile&#xff0c;_DeleteFile&#xff0c;_MoveFile&#xff0c;_ReNameFile2.每个函数都先拷贝了原来的路径&#xff0c;保证了路径是以2个\0\0结尾。&#xff08;如果不以2个\0\0结尾&#xff0c;往往会出错&#xff09;3.对于文件或…

使用RunWith注解改变JUnit的默认执行类,并实现自已的Listener

使用RunWith注解改变JUnit的默认执行类&#xff0c;并实现自已的Listener在平时的单元测试&#xff0c;如果不使用RunWith注解&#xff0c;那么JUnit将会采用默认的执行类Suite执行&#xff0c;如下类&#xff1a;public class TestClass { Test public void t1(){}}JUnit允许…