https://www.hackerrank.com/contests/ccollesium/challenges/space-less
solution:
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
int t;
cin>>t;
while(t--)
{
int num,c=0;
string k;
cin>>num;
cin>>k;
char st[1000000]={0};
int n = 0;
for (int i = 1; i <= num; i++)
n += sprintf (&st[n], "%d", i); // sprintf returns the number of characters written
string s(st); // converting a character array to string
//the data typt for f must be size_t since we used find
for(size_t f = 0 ;(f = s.find( k, f )) < n; f++) // we can use string::npos instead of n to loop until the end of the string".
c++;
cout<<c<<endl;
}
return 0;
}
int main(void)
{
int t;
cin>>t;
while(t--)
{
int num,c=0;
string k;
cin>>num;
cin>>k;
char st[1000000]={0};
int n = 0;
for (int i = 1; i <= num; i++)
n += sprintf (&st[n], "%d", i); // sprintf returns the number of characters written
string s(st); // converting a character array to string
//the data typt for f must be size_t since we used find
for(size_t f = 0 ;(f = s.find( k, f )) < n; f++) // we can use string::npos instead of n to loop until the end of the string".
c++;
cout<<c<<endl;
}
return 0;
}
No comments:
Post a Comment