思路:在注释中标出。
#include<cstdio>
#include <cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
#include <map>
using namespace std;
int main()
{
int n,i,count=0,j;
char mas[1000][5],a;
scanf("%i",&n);
for(i=0;i<n;i++)
{
scanf("%s",&mas[i][0]);
for(j=0;j<5;j++)
{
if(a=='O'&&a==mas[i][j]&&count!=1&&j!=0)//对一个动态二维数组进行判断,只要输入的一行中出现两个OO而且必须在最左边和最右边就可以跳出循环。
{
mas[i][j]=(mas[i][j-1]='+');
count=1;
}
a=mas[i][j];
}
}
if(count==0)
{
printf("NO\n");
}
else
{
printf("YES\n");
for(i=0;i<n;i++)
{
for(j=0;j<5;j++)
{
printf("%c",mas[i][j]);
}
printf("\n");
}
}
return 0;
}