Skip to content

Commit 762636b

Browse files
authored
Merge pull request #70 from tossy310/remin/pair-programming
Fix Pair Programming
2 parents 762b78b + c2eaa6a commit 762636b

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

pairprogramming/statement.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
もふふ大学のカトー先生は講義でペアプログラミングを教えています。
44
これは受講者を2人1組にして一緒にプログラミングさせるものであり、学科の中でも群を抜く人気科目です。
5-
カトー先生の唯一の悩みはペアを作れずに余ってしまう学生がいることでした
5+
カトー先生の唯一の悩みは2人組を作れずに余ってしまう学生がいることでした
66

77
講義は全部で$N$回行われます。
88
この講義は非常に人気なので、$i$回目の受講者数は$i - 1$回目の受講者数から$A_i$人増加しています。
99
$i - 1$回目までの受講者が$i$回目にいなくなることはありません。
1010
なお、$0$日目の受講者数は$0$人であると見なせます。
1111

1212
つまり、$i$回目の講義の受講者数は$A_1 + A_2 + \ldots + A_i$です。
13+
これは、$i - 1$回目の講義で2人組に入れたかに関わらず、全員が$i$回目の組作りに参加することを意味しています。
1314

1415
$N$回の講義それぞれについて、その回の受講者をできるだけ多くの2人組にしたとき、余ってしまう受講者の人数を求めてください。
1516

@@ -22,7 +23,7 @@ $N$回の講義それぞれについて、その回の受講者をできるだ
2223
# Input
2324
1つの入力ファイルは複数のテストケースからなる。
2425

25-
入力ファイルの最初の1行目にはテストケースの個数$T$が記される $(1 \leq T \leq 100)$。
26+
入力ファイルの最初の1行目にはテストケースの個数$T$が記される $(1 \leq T \leq 10)$。
2627

2728
2行目以降には、$T$個のテストケースが記述されており、各テストケースは次の形式で表される。
2829

pairprogramming/tests/constraints.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
#define MAX_T (100)
1+
#define MAX_T (10)
22
#define MAX_N (1e3)
33
#define MAX_A (1e3)

pairprogramming/tests/generator.cpp

+11-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,20 @@
44

55
using namespace std;
66

7-
void generate(const string& file_name, int num_case, int n, int max_a) {
7+
void generate(const string& file_name, int num_case, int max_n, int max_a) {
88
ofstream ofs(file_name);
99
ofs << num_case << endl;
1010

1111
for (int i = 0; i < num_case; i++) {
12+
int n;
13+
if (i == 0) {
14+
n = max_n;
15+
} else if (i == 1) {
16+
n = 1;
17+
} else {
18+
n = rnd.next(1, max_n);
19+
}
20+
1221
ofs << n << endl;
1322

1423
for (int i = 0; i < n; i++) {
@@ -21,7 +30,7 @@ void generate(const string& file_name, int num_case, int n, int max_a) {
2130
int main(int argc, char* argv[]) {
2231
registerGen(argc, argv, 1);
2332

24-
generate("small.in", 10, 10, 10);
33+
generate("small.in", MAX_T, 10, 10);
2534
generate("large.in", MAX_T, MAX_N, MAX_A);
2635
for (int i = 0; i < 10; i++) {
2736
generate("random_test" + to_string(i) + ".in", MAX_T, MAX_N, MAX_A);

0 commit comments

Comments
 (0)