Advertisement
Rofyda_Elghadban1

Untitled

Jan 21st, 2024
677
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1.   int n,m,k,mini1=INT_MAX,mini2=INT_MAX;
  2.   cin>>n>>m>>k;
  3.   char arr1[n][m];
  4.   int arr[n][m];
  5.   for(int i=0;i<n;i++){
  6.     for(int j=0;j<m;j++){
  7.       cin>>arr1[i][j];
  8.       if(arr1[i][j]=='.'){
  9.         arr[i][j]=0;
  10.       }else if(arr1[i][j]=='o'){
  11.         arr[i][j]=1;
  12.       }else if(arr1[i][j]=='x'){
  13.         arr[i][j]=-1;
  14.       }
  15.     }
  16.   }
  17.   map<int,int>mp;
  18.   for(int i=0;i<n;i++){
  19.     for(int j=0;j<m;j++){
  20.       if(arr[i][j]==0){
  21.         mp[0]++;
  22.       }else if(arr[i][j]==1){
  23.         mp[1]++;
  24.       }else if(arr[i][j]==-1&&(mp[0]+mp[1]==k)){
  25.         mini1=min(mini1,mp[0]);
  26.         mp[1]=0;
  27.         mp[0]=0;
  28.       }else if(arr[i][j]==-1&&(mp[0]+mp[1]!=k)){
  29.         mp[1]=0;
  30.         mp[0]=0;
  31.       }
  32.       if(mp[0]+mp[1]==k){
  33.         mini1=min(mini1,mp[0]);
  34.       }else if((arr[i][j]=='0'||arr[i][j]=='1')&&mp[0]+mp[1]==k){
  35.         if(j-k>=0&&(arr[i][j-k]=='0'&&arr[i][j]=='0')){
  36.           continue;
  37.         }else if(j-k>=0&&(arr[i][j-k]=='1'&&arr[i][j]=='0')){
  38.           mp[0]++;
  39.           mp[1]--;
  40.         }else if(j-k>=0&&(arr[i][j-k]=='1'&&arr[i][j]=='1')){
  41.           continue;
  42.         }else if(j-k>=0&&(arr[i][j-k]=='0'&&arr[i][j]=='1')){
  43.           mp[0]--;
  44.           mp[1]++;
  45.         }
  46.         mini1=min(mini1,mp[0]);    
  47.       }
  48.     }
  49.     mp[0]=0;
  50.     mp[1]=0;
  51.   }
  52.   cout<<mini1<<"\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement