Start: Jun, 05, 2019 17:00:00
2019春ACM通识课考试(第三场)
End: Jun, 05, 2019 20:15:00
Time elapsed:
Time remaining:

Problem_ID: I
Result: Accepted
Time: 81ms
Memory: 1380kB
Author: 2018212212001
In contest: 1272

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
bool mp[110][50][50];
char ss[150][150];
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		memset(ss,0,sizeof(ss));
		memset(mp,0,sizeof(mp));
		int n,m;
		scanf("%d%d",&n,&m);
		int t,c,a,b;
		for(int k=0;k<m;k++){
			scanf("%d%d%d%d",&t,&c,&a,&b);
			if(t==2){
				for(int i=0;i<n;i++)
					for(int j=0;j<n;j++)
						if(i==c&&j>=a&&j<=b)
							mp[k][i][j]=1;
						else
							mp[k][i][j]=0;
			}
			else if(t==0){
				for(int i=0;i<n;i++)
					for(int j=0;j<n;j++)
						if(j==c&&i>=a&&i<=b)
							mp[k][i][j]=1;
						else
							mp[k][i][j]=0;
			}
			else{
				for(int i=0;i<n;i++)
					for(int j=0;j<n;j++)
						if(j==t*i+c&&i>=a&&i<=b)
							mp[k][i][j]=1;
						else
							mp[k][i][j]=0;
			}
		}
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++){
				bool flag=0;
				for(int k=0;k<m;k++)
					if(mp[k][i][j])flag=1;
				if(flag)ss[i][j]='*';
				else
					ss[i][j]=' ';
			}
			for(int i=0;i<n;i++)
				printf("%s\n",ss[i]);
			int q,z;
			scanf("%d",&q);
			while(q--){
				scanf("%d",&z);
				for(int i=0;i<n;i++){
					for(int p=0;p<z;p++){
						for(int j=0;j<n;j++){
							for(int u=0;u<z;u++)
								printf("%c",ss[i][j]);
						}
						printf("\n");
					}
				}
			}
	}
}