Em todas as linguagens que possuem suporte para tal, você pode usar conjuntos para guardar os nomes de todos os Pomekons que você for encontrando e no final apenas subtrair 151 da quantidade de Pomekons diferentes que você encontrou.
Para linguagens que não possuem esse suporte, você pode ir colocando os Pomekons em um vetor e a cada novo Pomekon ver se ele já não está no vetor, mas tenha em mente que esse é um processo muito mais custoso do que usar conjuntos (complexidade de O(N²) versus O(N)). Felizmente, estamos lidando com apenas 1000 pomekons diferentes, então a complexidade quadrática é aceitável.
#include<string.h>#include<stdio.h>char pomekons[1001][101];intbusca(char* pomekon,int n){for(int i =0; i < n; ++i){if(!strcmp(pomekons[i], pomekon)) return i; }return-1;}intmain(){int N, p;char S[1001];memset(pomekons,'\0',sizeof(pomekons));scanf("%d\n",&N); p =0;for(int i =0; i < N; ++i){scanf("%s\n",&S);if(busca(S, N)==-1) strcpy(pomekons[p++], S); }printf("Falta(m) %d pomekon(s).\n",151- p);return0;}
var input =require('fs').readFileSync('/dev/stdin','utf8');var lines =input.split('\n');letN=parseInt(lines.shift());let pomekons =newSet();for(let i =0; i <N; ++i){letS=lines.shift().trim();pomekons.add(S);}console.log(`Falta(m) ${151-pomekons.size} pomekon(s).`);
N =int(input())pomekons =set()for _ inrange(N): S =input() pomekons.add(S)print(f"Falta(m) {151-len(pomekons)} pomekon(s).")