Science against spam 95/100

Riesco a risolvere tutti i test case tranne il secondo caso di esempio che, eseguito in locale, produce risultati palesemente errati.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int spam;
int leg;

int bw;
char b[1000][1000];
int gw;
char g[1000][1000];
int e;

void valuta(int lunghezza)
{
    int l=1;
    int s=1;
    int i;
    int j;
    
    char temp[50];
    
    for(j=0; j<lunghezza; j++)
    {
       scanf("%s", temp);
       for(i=0; i<bw && s; i++)
       {
           if(!strcmp(temp, b[i]))
                s=0;
        }
        
        for(i=0; i<gw && l; i++)
        {
             if(!strcmp(temp, g[i]))
                l=0;
        }
    }
    
    if((!l) && (!s))
        return;
    else
        if(!l)
            leg++;
        else
            spam++;
}

main()
{
    freopen("input.txt", "r", stdin);
    //freopen("output.txt", "w", stdout);
    int i;
    scanf("%d", &bw);
    for(i=0; i<bw; i++)
        scanf("%s", b[i]);
    scanf("%d", &gw);
    for(i=0; i<gw;i++)
        scanf("%s", g[i]);
    scanf("%d", &e);
    
    int temp;
    
    for(i=0; i<e; i++)
    {
        scanf("%d", &temp);
        valuta(temp);
    }
    
    printf("%d %d", spam, leg);  
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int spam;
int leg;

int bw;
char b[1000][1000];
int gw;
char g[1000][1000];
int e;

void valuta(int lunghezza)
{
int l=0;
int s=0;
int i;
int j;

char temp[50]; 
for(j=0; j<lunghezza; j++)
{
	 
   scanf("%s", temp); 
   for(i=0; i<bw && !s; i++){
       if(strcmp(temp, b[i]) == 0)
            s=1;
    }
    
    for(i=0; i<gw && !l; i++)
    {
         if(strcmp(temp, g[i]) == 0)
            l=1;
    } 
}  
if(s && !l) spam++;
if(!s && l) leg++; 

}

main()
{
freopen(“input.txt”, “r”, stdin);
//freopen(“output.txt”, “w”, stdout);
int i;
scanf("%d", &bw);
for(i=0; i<bw; i++)
scanf("%s", b[i]);
scanf("%d", &gw);
for(i=0; i<gw;i++)
scanf("%s", g[i]);
scanf("%d", &e);

int temp;

for(i=0; i<e; i++)
{
    scanf("%d", &temp);
    valuta(temp);
}

printf("%d %d", spam, leg);  

}

1 Mi Piace