• zzuli2470: 迷宫


    http://acm.zzuli.edu.cn/problem.php?id=2470

    题目描述

            X星球没有监狱,对于哪些犯罪的人。就是把他们放入迷宫里慢慢惩罚他们。 
            你作为一个迷宫构建师。你的任务就是生成符合要求的迷宫。 
            对于一个大小为n*m的迷宫,第一行房间编号从左往右为1~m, 第二行 
            房间的编号为m+1~2*m,以此类推。共有n*m个房间。 
            我们希望有的房间能到达另外的房间。所以对生成的迷宫有q个要求 
            对于每一个要求:k  ch。k代表房间编号,ch代表开口的方向。一共有两种取值: 
              ➀W:向下开口 ➁R:向右开口。 
            题目数据保证:➀迷宫的四周墙壁没有开口。 ➁要求可能重复 

     

    输入

    第一行输入三个整数:n, m, q。 (1<=n<=50, 1<=m<=50, 0=<q<=2*n*m-n-m) 
    接下来的q行,每一行输入一个k, ch (1<=k<=n*m, ch={'W', 'R'}) 

    输出

    生成符合要求的迷宫

    样例输入

    4 6 6
    16 W
    11 R
    11 R
    16 W
    1 R
    22 R
    

    样例输出

    +---+---+---+---+---+---+
    |       |   |   |   |   |
    +---+---+---+---+---+---+
    |   |   |   |   |       |
    +---+---+---+---+---+---+
    |   |   |   |   |   |   |
    +---+---+---+   +---+---+
    |   |   |   |       |   |
    +---+---+---+---+---+---+
    
    #include<stdio.h>
    #define N 55
    int temp1[N*N],temp2[N*N];
    int main ()
    {
    	int m,n,i,j,q,k;
    	char ch;
    	scanf("%d%d%d",&n,&m,&q);
    	while(q--)
    	{
    		scanf("%d %c",&k,&ch);
    		if(ch=='W')
    			temp1[k]=1;
    		else if(ch=='R')
    			temp2[k]=1;
    	}
    	for(i=0;i<m;i++)
    		printf("+---");
    	printf("+
    ");
    	for(i=0;i<n;i++)
    	{
    		for(j=1;j<=m;j++)
    			if(temp2[i*m+j-1]==0)
    				printf("|   ");
    			else
    				printf("    ");
    		printf("|
    ");
    		for(j=1;j<=m;j++)
    			if(temp1[i*m+j]==0)
    				printf("+---");
    			else
    				printf("+   ");
    		printf("+
    ");
    	}
    	return 0;
    } 
  • 相关阅读:
    VMware Workstations Pro15.1.0并解锁Unlock3.0.2 安装黑苹果
    正则表达式对字符串匹配
    Linq操作
    C#模糊查询绑定datagridview
    wpf的datepicker处理
    动态调用webservice,不需要添加Web References
    C#调用sap接口及返回数据到sap
    C#中文件管理的运用(Twelfth Day)
    C#中继承,集合(Eleventh day)
    C#中字符串的处理,对象的引用及继承(Tenth day)
  • 原文地址:https://www.cnblogs.com/zyq1758043090/p/11852837.html
Copyright © 2020-2023  润新知