1732B - Ugu - CodeForces Solution


greedy *900

Please click on ads to support us..

Python Code:


def ii(a = False):
    i = input().split()
    try:
        if len(i) == 1 and not a:
            return int(i[0])
        return list(map(int, i))
    except Exception:
        if len(i) == 1 and not a:
            return i[0]
        return i


def gcd(a, b):
    if a == 0:
        return b
    return gcd(b % a, a)

for _ in range(ii()):
    n = ii()
    s = input()
    index = 0
    for i in range(n):
        if s[i]!='0': 
            index = i
            break
    
    t = 0
    s = s[index:]
    prev = s[0]
    for i in s:
        if prev!=i:
            t+=1
            prev = i
    print(t)

C++ Code:

#include <bits/stdc++.h>
#define int long long
#define vi vector<int>
#define pb push_back
#define inf INT_MAX
#define minf INT_MIN
#define mod 1000000007
#define bits1 __builtin_popcountl
#define fio                        \
  ios_base::sync_with_stdio(NULL); \
  cin.tie(NULL);
using namespace std;
signed main() {
  fio int t ;
  cin>>t;
  while(t--)
  {
     int n ;
     cin>>n ;
     string str;
     cin>>str ;
     int flag=0 ;
     int plag=0 ;
     int ctr=0 ;
     int ptr=0 ;
     for(int i=0;i<n;i++)
     {
         if(str[i]=='1')
         {
             flag=1 ;
         }
         if(((str[i]=='0'&&(plag%2)==0)||(str[i]=='1'&&(plag%2)==1))&&flag)
         {
             ctr++ ;
             plag++ ;
         }
     }
     flag=0 ;
     plag=0 ;
     for(int i=0;i<n;i++)
     {

         if(((str[i]=='1'&&(plag%2)==0)||(str[i]=='0'&&(plag%2)==1)))
         {
             ptr++ ;
             plag++ ;
         }
     }
     cout<<min(ctr,ptr)<<"\n" ;

  }
  return 0;
}


Comments

Submit
0 Comments
More Questions

1472B - Fair Division
1281C - Cut and Paste
141A - Amusing Joke
112A - Petya and Strings
677A - Vanya and Fence
1621A - Stable Arrangement of Rooks
472A - Design Tutorial Learn from Math
1368A - C+=
450A - Jzzhu and Children
546A - Soldier and Bananas
32B - Borze
1651B - Prove Him Wrong
381A - Sereja and Dima
41A - Translation
1559A - Mocha and Math
832A - Sasha and Sticks
292B - Network Topology
1339A - Filling Diamonds
910A - The Way to Home
617A - Elephant
48A - Rock-paper-scissors
294A - Shaass and Oskols
1213A - Chips Moving
490A - Team Olympiad
233A - Perfect Permutation
1360A - Minimal Square
467A - George and Accommodation
893C - Rumor
227B - Effective Approach
1534B - Histogram Ugliness