Cod sursa(job #667471)

Utilizator mavroMavrodin Bogdan-Florentin mavro Data 23 ianuarie 2012 10:40:08
Problema Potrivirea sirurilor Scor 40
Compilator c Status done
Runda Arhiva educationala Marime 0.84 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int arbore(char *A, char *B) {
   int i; 
   
   for(i = 0; i < strlen(A); i++)
      if(A[i] != B[i])
         return 0;
   return 1;

}

int main() {

   if(freopen("strmatch.in", "r", stdin) == 0) {
      printf("!ERROR! No file found");
      return 0;
   }
   
   if(freopen("strmatch.out", "w", stdout) == 0) {
      printf("!ERROR! No file found");
      return 0;
   }
   
   char A[2000005], B[2000005];
   
   int k = 0, vk[1001];
      
   if(scanf("%s\n%s", A, B) == 0) {
      printf("!ERROR! No input found in the file");
      return 0;
   }
   
   int i;

   for(i = 0; i < strlen(B); i++) {
      if(arbore(A, B+i) == 1)
	 vk[k++] = i;
      if(k == 999)
         break;
   }

   printf("%d\n", k);
   
   for(i = 0; i < k && i < 1000; i++)
      printf("%d ", vk[i]);
   
   return 0;
}