Таблица футбольного чемпионата задана квадратной матрицей порядка [latex]n[/latex], в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен [latex]2[/latex], [latex]1[/latex] или [latex]0[/latex] (числу очков, набранных в игре: [latex]2 -[/latex] выигрыш, [latex]1 -[/latex] ничья, [latex]0 -[/latex] проигрыш).
в)Выяснить, имеется ли хотя бы одна команда, выигравшая более половины игр.
Матрица | Результат |
0 1 0 1 0 0 2 2 0 |
Yes |
0 1 1 1 1 0 1 2 1 1 0 2 1 0 0 0 |
No |
0 2 2 1 1 0 0 1 1 2 0 1 0 2 0 1 1 0 0 1 1 0 2 1 0 |
No |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include <iostream> using namespace std; int main() { int p; cin>>p; const int n=p; int a[n][n]; for(int i=0; i<n; i++) for(int j=0; j<n; j++) { cin>>a[i][j]; } int s=0; bool f=false; for(int i=0; i<n; i++) { s=0; for(int j=0; j<n; j++) { if(a[i][j]==2) s++; } if(s>((n-1)/2)) f=true; } if(f) cout<<"Yes"<<endl; else cout<<"No"<<endl; return 0; } |
Зададим квадратную матрицу [latex]a[n][n][/latex]. С помощью счетчика [latex]s[/latex] посчитаем сколько у каждой команды побед. Если побед больше, чем половина от всех игр(всего игр [latex]n-1[/latex]), то выведем «Yes», в ином случае «No» .
Надо отметить, что неравенство строгое.
Код программы можно посмотреть тут