Advertisement
Guest User

Untitled

a guest
Apr 24th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <iostream>
  6.  
  7. int qk=0,qb=0;
  8.  
  9. char data[501][501];
  10. void banjir(int arah,int a,int b,int maxa,int maxb,char x){
  11.     if(data[a][b]=='.'){
  12.         data[a][b]=x;
  13.         if(x=='K')qk++;else qb++;
  14.         if(arah!=1)if(a-1>=0)banjir(3,a-1,b,maxa,maxb,x);
  15.         if(arah!=2)if(b+1<=maxb)banjir(4,a,b+1,maxa,maxb,x);
  16.         if(arah!=3)if(a+1<=maxa)banjir(1,a+1,b,maxa,maxb,x);
  17.         if(arah!=4)if(b-1>=0)banjir(2,a,b-1,maxa,maxb,x);
  18.     }
  19. }
  20.    
  21. int main()
  22. {
  23.         int a,b;
  24.         int ak,bk,ab,bb;
  25.         scanf("%i %i",&a,&b);
  26.         //for(int q=0;q<80;q++)for(int p=0;p<80;p++)data[q][p]='x';
  27.        
  28.         for(int q=0;q<a;q++){
  29.             std::cin.getline(data[q],b+1);
  30.         }
  31.        
  32.        
  33.         for(int q=0;q<a;q++)for(int p=0;p<b;p++)
  34.             if(data[q][p]=='K'){
  35.                 ak=q;
  36.                 bk=p;
  37.             }else if(data[q][p]=='B'){
  38.                 ab=q;
  39.                 bb=p;
  40.             }
  41.            
  42.         banjir(1,ak+1,bk,a-1,b-1,'K');
  43.         banjir(2,ak,bk-1,a-1,b-1,'K');
  44.         banjir(3,ak-1,bk,a-1,b-1,'K');
  45.         banjir(4,ak,bk+1,a-1,b-1,'K');
  46.        
  47.         banjir(1,ab+1,bb,a-1,b-1,'B');
  48.         banjir(2,ab,bb-1,a-1,b-1,'B');
  49.         banjir(3,ab-1,bb,a-1,b-1,'B');
  50.         banjir(4,ab,bb+1,a-1,b-1,'B');
  51.        
  52.         for(int q=0;q<a;q++)printf("%s\n",data[q]);
  53.         /*
  54.         if(qk==qb){
  55.             printf("SERI\n");
  56.         }else if(qk>qb){
  57.             printf("K %i\n",qk-qb);
  58.         }else{
  59.             printf("B %i\n",qb-qk);
  60.         }*/
  61.        
  62.        
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement