Questão da Maratona de Programação da SBC de 2014, sub-regional Brasil (primeira fase), questão H. Link para o caderno de prova.
Frustrado e desanimado com os resultados de sua equipe de futebol, o Super Brasileiro Clube resolveu investir na equipe de handebol. Para melhor avaliar os atletas, os técnicos identificaram que seria útil analisar a regularidade dos jogadores. Especificamente, eles estão interessados em saber quantos jogadores fizeram gols em todas as partidas.
Como o volume de dados e muito grande, eles gostariam de ter um programa de computador para realizar essa contagem.
Entrada
A primeira linha da entrada contém dois inteiros N e M (1 <= N <= 100 e 1 <= M <= 100), indicando respectivamente o número de jogadores e o número de partidas. Cada uma das N linhas seguintes descreve o desempenho de um jogador: a i-ésima linha contém M inteiros Xj (0 <= Xj <= 100, para 1 <= j <= M), informando o número de gols do i-ésimo jogador em cada partida.
Saída
Seu programa deve produzir uma única linha, contendo um único inteiro, o número de jogadores que fizeram gols em todas as partidas.
Exemplo
| Entrada | Saída |
| 5 3
0 0 0 1 0 5 0 0 0 0 1 2 1 1 0 |
0
|
| 12 5
4 4 2 3 7 0 0 0 1 0 7 4 7 0 6 1 2 3 3 2 0 0 0 0 0 4 0 9 10 10 0 1 0 0 0 1 2 0 2 3 10 10 10 1 0 0 3 3 3 4 10 10 0 10 10 1 1 2 0 9 |
2
|
Solução em C++
#include <iostream>
using namespace std;
int main() {
int jogadores, partidas, i, j, naoMarcou=0, cont;
cin >> jogadores; //leitura da quantidade de jogadores
cin >> partidas; //leitura da quantidade de partidas
int gols[jogadores][partidas];
//para cada jogador, determina quantos gols por partida ele fez
for(i=0; i<jogadores; i++) {
for(j=0; j<partidas; j++) {
cin >> gols[i][j];
}
}
//determina quem fez gols em todas as partidas
for(i=0; i<jogadores; i++) {
cont = 0;
for(j=0; j<partidas; j++) {
if (gols[i][j] == 0) { cont++; }
}
if (cont == 0) { naoMarcou++; }
}
cout << naoMarcou;
return 0;
}
Veja a execução online: http://ideone.com/e.js/spk8Fi
Solução em Python
cont = 0
jogadores = int(input()) #leitura da quantidade de jogadores
partidas = int(input()) #leitura da quantidade de partidas
gols = [0]*jogadores
for i in range(jogadores):
gols[i] = [0] * partidas
#para cada jogador, determina quantos gols por partida ele fez
for i in range(jogadores):
for j in range(partidas):
gols[i][j] = int(input())
#determina quem fez gols em todas as partidas
for i in range(jogadores):
naoFezGol = False
for j in range(partidas):
if gols[i][j] == 0:
naoFezGol = True
if naoFezGol == False:
cont = cont + 1
print cont
Veja a execução online: http://www.codeskulptor.org/#user41_lIxX3O3nQB_0.py