Arrangement
Question
Solution
Idea
This problem mainly tests the ability to find pattern. The pattern I have found is below:
The difference between the teams in each room is exactly 1.
The number of rooms that has exactly one more team is m % n.
The base number of team in the room is m / n. Then the other choice is m / n + 1 exactly.
Code
https://github.com/mendax1234/Coding-Problems/blob/main/kattis/upprodun/upprodun.c
#include <stdio.h>
#define STAR '*'
void print_row(long n)
{
for (long i = 0; i < n; i += 1)
{
putchar(STAR);
}
putchar('\n');
}
int main()
{
long n, m;
scanf("%ld", &n);
scanf("\n%ld",&m);
long num_room_more = m % n;
long base_num_per_room = m / n;
for (long i = 0; i < num_room_more; i += 1)
{
print_row(base_num_per_room + 1);
}
for (long i = 0; i < n - num_room_more; i += 1)
{
print_row(base_num_per_room);
}
}
Last updated