zoukankan      html  css  js  c++  java
  • 2016 Al-Baath University Training Camp Contest-1 D

    Description

    X is well known artist, no one knows the secrete behind the beautiful paintings of X except his friend Y, well the reason that Y knows X's secrete is that he is that secret. Y is a programmer and he helps X with drawing paintings using computer program written by him. Unfortunately Y program is not working any more, now it's your turn to help X by writing a program that helps him in painting, your program should accept a sequence of instructions, each will draw an opaque (filled) rectangle in the form: r1, c1, r2, c2, color. where (r1, c1) is the upper left corner of the rectangle and (r2, c2) is the lower right corner, and color is a character that denotes the color of this rectangle. all rectangles will be printed on a R by C plane, by default this plane is filled with dots (i.e. '.'). R and C between 1 and 100. for each instruction (1 ≤ ri ≤ R) and (1 ≤ ci ≤ C) and color is a ASCII character [a-z]. The number of instructions won't exceed 100 instructions.

    Input

    The first line of input contains an integer T denotes number of test cases. The first line of each test case contains three integers RC ,Iwhere R and C denotes number of rows and columns of the painting, and I denotes number of instructions. Each of the next I lines contains four integers r1,c1,r2,c2 and the color character.

    Output

    Print the final plane after evaluating the instructions in order.

    Example
    input
    1
    5 5 3
    1 1 2 2 a
    1 2 5 5 c
    2 2 3 3 d
    output
    acccc
    addcc
    .ddcc
    .cccc
    .cccc
    题意:从x1,y1画到x2,y2,颜色为c,问我们最后画出来的颜色分布
    解法:暴力,原先画的颜色会被后面的覆盖
    #include <iostream>
    #include <cstring>
    using namespace std;
    int main(){
    	char a[105][105];
    	int T;
    	cin>>T;
    	while(T--){
    		int c,r,m,b[4];
    		cin>>r>>c>>m;
    		for(int i=1;i<=r;i++){
    			for(int k=1;k<=c;k++){
    				a[i][k]='.';
    			}
    		}
    		while(m--){
    			char ch;
    			for(int i=0;i<4;i++){
    				cin>>b[i];
    			}
    			cin>>ch;
    			for(int i=b[0];i<=b[2];i++){
    				for(int k=b[1];k<=b[3];k++){
    					a[i][k]=ch;
    				}
    			}
    		}
    		for(int i=1;i<=r;i++){
    			for(int k=1;k<=c;k++){
    				cout<<a[i][k];
    			}
    			cout<<endl;
    		}
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    PHP 文件包含之文件路径截断(转)
    如何使用Linux通用后门(转zafe)
    利用sqlmap和burpsuite绕过csrf token进行SQL注入 (转)
    正则表达式30分钟入门教程<转载>
    php empty()和isset()的区别<转载>
    $_SERVER详细资料整理(转)
    [C语言(VC)] 打造自己的键盘记录器 (zaroty)
    metasploit(MSF)终端命令大全
    linux提权总结(外文)
    kettle菜鸟学习笔记1----相关准备知识
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/6044066.html
Copyright © 2011-2022 走看看