989B - A Tide of Riverscape - CodeForces Solution


constructive algorithms strings *1200

Please click on ads to support us..

C++ Code:

// Online C++ compiler to run C++ program online
#include <bits/stdc++.h>
using namespace std;

int main() {
int n,p; cin>>n>>p; string s; cin>>s;
int it1=0; int it2=p;int b=0;
while(it2<n){
    if(s[it1]=='.'||s[it2]=='.'){ b=1; break;}
    if(s[it1]!=s[it2]){ b=1;break;}
    it1++;it2++;  }
    if(b==0){ cout<<"NO"; return 0;}
 unordered_map<char,char>m; m['0']='1';m['1']='0'; it1=0;it2=p;
 
for(int i=0;i<=p-1;i++){ if(s[i]=='.') {
  if(i+p<n){ if(s[i+p]!='.') s[i]=m[s[i+p]]; else s[i]='0'; }   
   else{ s[i]='0'; }        }
    
}

while(it2<n){
    if(s[it2]=='.') { s[it2]=m[s[it1]];}
    it1++; it2++;
}
cout<<s;

    return 0;
}


Comments

Submit
0 Comments
More Questions

669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence
21D - Traveling Graph
1559B - Mocha and Red and Blue
1579C - Ticks
268B - Buttons
898A - Rounding
1372B - Omkar and Last Class of Math
1025D - Recovering BST
439A - Devu the Singer and Churu the Joker
1323A - Even Subset Sum Problem
1095A - Repeating Cipher
630F - Selection of Personnel
630K - Indivisibility
20B - Equation
600B - Queries about less or equal elements
1015A - Points in Segments
1593B - Make it Divisible by 25
680C - Bear and Prime 100
1300A - Non-zero
1475E - Advertising Agency
1345B - Card Constructions
1077B - Disturbed People
653A - Bear and Three Balls
794A - Bank Robbery
157A - Game Outcome