求找错【玄关】
  • 板块灌水区
  • 楼主ikun_HYZ
  • 当前回复1
  • 已保存回复2
  • 发布时间2024/5/30 20:54
  • 上次更新2024/5/30 23:12:09
查看原帖
求找错【玄关】
949489
ikun_HYZ楼主2024/5/30 20:54

原题

描述

小童在“我的世界”开了一个 n×n 的方阵 A。现在他有 m 个火把,分别放在了 m 个位置。放在 A[x][y] 的火把能够照第 x 行和第 y 列的所有位置。如下图。

没有光也没有火把的地方会生成一个怪物。用字符 F 表示火把,字符 L 表示光,字符 M 表示怪物,请输出方阵 A 的情况。

输入描述

第一行两个正整数 n 和 m,用空格隔开。 接下来 m 行,每行两个整数 x,y,表示一个火把的被放在了第 x 行和第 y 列交叉的位置。

输出描述

n 行,每行 n 个字符,用空格隔开。

样例输入 1

3 2

2 1

1 3

样例输出 1

L L F

F L L

L M L

数据范围与提示

1≤n≤100,1≤m≤25

代码

#include<bits/stdc++.h>
using namespace std;
char a[114][114];
int main(){
	int n,m,x,y;
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		a[x][y]='F';//输入并标记火把
		for(int j=1;j<=n;j++){
			for(int k=1;k<=n;k++){
				if(j==x && a[j][k]!='F'){
					//在火把那行标记为光
					a[j][k]='L';
				}
				if(k==y && a[j][k]!='F'){
					//在火把那列标记为光
					a[j][k]='L';
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]!='F' || a[i][j]!='L'){
				//不是光或火把就是怪物
				a[i][j]='M';
			}
			cout<<a[i][j]<<' ';
		}
		cout<<"\n";
	}
	return 0;
}
2024/5/30 20:54
加载中...