先用一个字符数组存每行的座位情况(字符变量也可以)
接下来用另一个数组存最后的座位情况
好了,看代码
#include<iostream>
using namespace std;
bool t=false;//是否存在这种座位
int main()
{
int n;
char c[6];
char cc[1010][6];
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>c[1]>>c[2]>>c[3]>>c[4]>>c[5];//读入
for(int j=1;j<=5;j++)cc[i][j]=c[j];//先全部赋值一遍
if(t==false&&c[1]==c[2]&&c[1]=='O'){t=true,cc[i][1]='+',cc[i][2]='+';}//开始特判,记得一定要加"t==false"这一句!
if(t==false&&c[4]==c[5]&&c[4]=='O'){t=true,cc[i][4]='+',cc[i][5]='+';}//同上
}
if(!t)cout<<"NO
";
else
{
cout<<"YES
";
for(int i=1;i<=n;i++)
{
for(int j=1;j<=5;j++)cout<<cc[i][j];
cout<<endl;
}
}//输出
return 0;
}