from Pisces's Trial双鱼座
输入第一个整数表多少行座位,之后输入座位的占用情况;输出是否能找到给两人一起坐并且在同侧的座位(输出YES或NO),并把找到的座位替换为“++”(上方优先)
很简单,逐行判断是否有相邻的两个“O”符号即可,一旦出现就可以替换并马上输出。
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
char** p = new char*[n]();
for (int i = 0; i < n; i++)
p[i] = new char[6]();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 5; j++)
{
cin >> p[i][j];
}
}
int isanswerfound = 0;
for (int i = 0; i < n; i++)
{
if (p[i][0] == 'O'&&p[i][1] == 'O')
{
p[i][0] = '+';
p[i][1] = '+';
isanswerfound = 1;
break;
}
if (p[i][3] == 'O'&&p[i][4] == 'O')
{
p[i][3] = '+';
p[i][4] = '+';
isanswerfound = 1;
break;
}
}
if (isanswerfound == 1)
{
cout << "YES" << endl;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 5; j++)
{
cout << p[i][j];
}
cout << endl;
}
}
else
cout << "NO" << endl;
return 0;
}