C言語に慣れてないため、お知恵を貸して頂けると嬉しいです。

whiteとblackのいずれかを入力して、
whiteが2つになったら、pass
blackが3つになったら、failure
にするようにしたいです。
一応コードを書いてみましたが、
期待通りの出力結果が得られないです。

■入力例

4
black
black
white
black

■出力例

black
black
white
failure ←4回目にblackが入力され、その時点でblackが3つになったため、failureを出力する。
#include <stdio.h>
#include <string.h>

int blackcount; 
int whitecount; 

void count_black(void) {
    if(blackcount == 3)
    {
        printf("failure"); 
    }
    else{
        printf("black");
    }

}

void count_white(void) {
    if(whitecount == 2)
    {
        printf("pass"); 
    }
    else{
        printf("white"); //strike!
    }
}

int main(void){

    int i,num;
    char Judgment[10];
    char *s1 = "black";

    scanf("%d",&num);

    if((3<=num)&&(num<=6)){
        for(i=1; i<=num; i++){

            scanf("%s", Judgment);

            if (strcmp(Judgment,s1) == 0)
            {
                count_black();
                blackcount++;
            }
            else{
                count_white();
                whitecount++;
            }
        }
    }
    return 0;
}

宜しくお願い致します。