Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде.
- В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат:
- <Фамилия> <Инициалы> <номер школы>
- где <Фамилия> – строка, состоящая не более чем из 20 символов,
- <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка),
- <номер школы> – не более чем двузначный номер.
- <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом.
- Пример входной строки:
- Иванов П.С. 57
- Требуется написать как можно более эффективную программу
- (укажите используемую версию языка программирования, например, Borland Pascal 7.0),
- которая будет выводить на экран информацию, из какой школы было меньше всего участников
- (таких школ может быть несколько).
- При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника.
- Следует учитывать, что N>=1000.
- */
- #include <stdio.h>
- #define NMAX 100
- int main(void) {
- int arr[NMAX]= {0};
- int nstr, min;
- scanf("%d%*c", &nstr);
- for(int i=0, n=0; i<nstr; i++) {
- scanf("%*s%*s%d%*c", &n);
- if(n!=0)
- arr[n]++;
- }
- min = nstr;
- for (int i=0; i < NMAX; i++)
- if (arr[i]!=0 && arr[i] < min)
- min = arr[i];
- for(int i = 0; i < NMAX; i++)
- if(arr[i] == min)
- printf("%d ", i);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement