here is my code
- Code: Select all
#include <stdio.h>
int i,j,m,n,y,x,x2,y2,other;
char c;
char c1;
char mat[260][260];
char nombre[100];
short marcado[260][260];
int visitados;
int encontrados;
int cords[67][2];
void ini(){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
mat[i][j]='O';
}
}
}
void colorear(unsigned char x,unsigned char y){
if(mat[y][x]==c){
mat[y][x]=c1;
visitados++;
marcado[y][x]=1;
if(x+1<=m && !marcado[y][x+1] && mat[y][x+1]==c){
marcado[y][x+1]++;
encontrados++;
cords[encontrados][0]=y;
cords[encontrados][1]=x+1;
}
if(x-1>0 && !marcado[y][x-1] && mat[y][x-1]==c){
encontrados++;
marcado[y][x-1]++;
cords[encontrados][0]=y;
cords[encontrados][1]=x-1;
}
if(y+1<=n && !marcado[y+1][x] && mat[y+1][x]==c){
marcado[y+1][x]++;
encontrados++;
cords[encontrados][0]=y+1;
cords[encontrados][1]=x;
}
if(y-1>0 && !marcado[y-1][x] && mat[y-1][x]==c){
encontrados++;
marcado[y-1][x]++;
cords[encontrados][0]=y-1;
cords[encontrados][1]=x;
}
}
}
void mayor(int &a,int &b){
int aux;
if (a>b){
aux=a;
a=b;
b=aux;
}
}
int main(){
other=0;
scanf("%c",&c);
while (1){
if(c=='I'){
scanf("%d %d",&m,&n);
ini();
}
else if(c=='C'){
ini();
}
else if(c=='L'){
scanf("%d %d%c%c",&x,&y,&c,&c);
mat[y][x]=c;
}
else if(c=='V'){
scanf("%d %d %d%c%c",&x,&y,&y2,&c,&c);
mayor(y,y2);
for (i=y;i<=y2;i++)
mat[i][x]=c;
}
else if(c=='H'){
scanf("%d %d %d%c%c",&x,&x2,&y,&c,&c);
mayor(x,x2);
for (j=x;j<=x2;j++)
mat[y][j]=c;
}
else if(c=='K'){
scanf("%d %d %d %d%c%c",&x,&y,&x2,&y2,&c,&c);
mayor(x,x2);
mayor(y,y2);
for (i=y;i<=y2;i++)
for(j=x;j<=x2;j++)
mat[i][j]=c;
}
else if (c=='F'){
scanf("%d %d%c%c",&x,&y,&c1,&c1);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
marcado[i][j]=0;
}
}
c=mat[y][x];
visitados=0;
encontrados=0;
cords[encontrados][0]=y;
cords[encontrados][1]=x;
while(visitados<=encontrados){
colorear(cords[visitados][1],cords[visitados][0]);
}
}
else if (c=='S'){
scanf("%s",nombre);
printf("%s\n",nombre);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
printf("%c",mat[i][j]);
}
printf("\n");
}
}
else if(c=='X')
break;
else
other=1;
if(other){
gets(nombre);
scanf("%c",&c);
other=0;
}
else
scanf("%c %c",&c,&c);
}
return 0;
}
my emails is luistellez@gmail.com if anyone can send me some info there or test cases or something it will be really apreciate it.[/code]
