Before seeing the solution make sure that you tried enough. Don’t paste the whole code, just find out the logic. If you stuck in trouble, just inform me on comment.
/**Bismillahir Rahmanir Rahim.**/
#include <stdio.h>
#include <string.h>
int main()
{
int i, j, cnt = 0, cnt2, k, l;
char sb_str[100], str[100];
while(scanf("%s%s", sb_str, str)!=EOF)
{
int total = 0, sve, tmp;
int sb_lnth = strlen(sb_str), str_lnth = strlen(str);
for(i=0, cnt++; i <= str_lnth-sb_lnth; i++)
{
if(str[i] == sb_str[0])
{
cnt2 = 1; tmp = i + 1;
for(k = i+1, l = 1; sb_str[l]; l++, k++)
{
if(str[k] == sb_str[l]) cnt2++;
else break;
}
if(cnt2 == sb_lnth)
{
total++;
sve = tmp;
}
}
}
printf("Caso #%d:\n", cnt);
if(total == 0) printf("Nao existe subsequencia\n\n");
else
{
printf("Qtd.Subsequencias: %d\n", total);
printf("Pos: %d\n\n", sve);
}
}
return 0;
}
Brother http://pastebin.com/c6A1y9GR
ReplyDeletethis is my code. It's giving correct output on console but showing 100%WA at uri. I read my code so many times and then read yours too carefully. And I can't find where I've mistaken. Can you plz help me out from here?
I did d silly mistake. solved it :)
Deletebut it said "if there is more of a subsequence, print where it started the last substring". Doesn't it mean that if subsequences are more than one? I didn't get it.
need more solve of uri problems . still a lot problem needs to solve..
ReplyDeleteThank..
ReplyDelete