From 78a60f291887b7d16a15ebc6c9bdcaef195fb4a6 Mon Sep 17 00:00:00 2001 From: lxq <877250099@qq.com> Date: Sat, 4 Feb 2023 00:24:58 +0800 Subject: [PATCH] add 2 cases --- tests/5-bonus/testcases/14-const-prop.cminus | 23 +++++++ tests/5-bonus/testcases/14-const-prop.in | 1 + tests/5-bonus/testcases/14-const-prop.out | 1 + tests/5-bonus/testcases/15-transpose.cminus | 70 ++++++++++++++++++++ tests/5-bonus/testcases/15-transpose.in | 32 +++++++++ tests/5-bonus/testcases/15-transpose.out | 1 + 6 files changed, 128 insertions(+) create mode 100644 tests/5-bonus/testcases/14-const-prop.cminus create mode 100644 tests/5-bonus/testcases/14-const-prop.in create mode 100644 tests/5-bonus/testcases/14-const-prop.out create mode 100644 tests/5-bonus/testcases/15-transpose.cminus create mode 100644 tests/5-bonus/testcases/15-transpose.in create mode 100644 tests/5-bonus/testcases/15-transpose.out diff --git a/tests/5-bonus/testcases/14-const-prop.cminus b/tests/5-bonus/testcases/14-const-prop.cminus new file mode 100644 index 0000000..93d726f --- /dev/null +++ b/tests/5-bonus/testcases/14-const-prop.cminus @@ -0,0 +1,23 @@ +void main(void) { + int c; + int a; + int b; + int d; + int f; + int g; + int loopCnt; + loopCnt = input(); + c = 0; + a = 0; + g = 0; + while (c < loopCnt) { + a = 1.23456 * 5.73478 * 2.3333 * 4.3673 * 6.34636; + b = a * a * a * a * a * a; + d = b * b * b * b * b * b; + f = d * d * d * d * d * d; + g = f * f * f * f * f * f; + c = c + 1; + } + output(g); + return; +} \ No newline at end of file diff --git a/tests/5-bonus/testcases/14-const-prop.in b/tests/5-bonus/testcases/14-const-prop.in new file mode 100644 index 0000000..ea600cb --- /dev/null +++ b/tests/5-bonus/testcases/14-const-prop.in @@ -0,0 +1 @@ +100000000 diff --git a/tests/5-bonus/testcases/14-const-prop.out b/tests/5-bonus/testcases/14-const-prop.out new file mode 100644 index 0000000..79f74f4 --- /dev/null +++ b/tests/5-bonus/testcases/14-const-prop.out @@ -0,0 +1 @@ +711082625 diff --git a/tests/5-bonus/testcases/15-transpose.cminus b/tests/5-bonus/testcases/15-transpose.cminus new file mode 100644 index 0000000..0aff64f --- /dev/null +++ b/tests/5-bonus/testcases/15-transpose.cminus @@ -0,0 +1,70 @@ +int matrix[20000000]; +int ad[100000]; + +int len; + +void readarray(void) { + int cnt; + cnt = 0; + while (cnt < len) { + ad[cnt] = input(); + cnt = cnt + 1; + } +} + +int transpose(int n, int matrix[], int rowsize) { + int colsize; + int i; + int j; + int curr; + colsize = n / rowsize; + i = 0; + j = 0; + while (i < colsize) { + j = 0; + while (j < rowsize) { + if (i < j) { + j = j + 1; + } else { + curr = matrix[i * rowsize + j]; + matrix[j * colsize + i] = matrix[i * rowsize + j]; + matrix[i * rowsize + j] = curr; + j = j + 1; + } + } + i = i + 1; + } + return 0 - 1; +} + +int main(void) { + int n; + int i; + int ans; + n = input(); + len = input(); + readarray(); + i = 0; + + while (i < n) { + matrix[i] = i; + i = i + 1; + } + i = 0; + while (i < len) { + transpose(n, matrix, ad[i]); + i = i + 1; + } + + ans = 0; + i = 0; + while (i < len) { + ans = ans + i * i * matrix[i]; + i = i + 1; + } + if (ans < 0) { + ans = 0 - ans; + } + output(ans); + return 0; +} diff --git a/tests/5-bonus/testcases/15-transpose.in b/tests/5-bonus/testcases/15-transpose.in new file mode 100644 index 0000000..f37548b --- /dev/null +++ b/tests/5-bonus/testcases/15-transpose.in @@ -0,0 +1,32 @@ +10000000 +30 +2 +5 +4 +25 +8 +125 +16 +625 +32 +3125 +2 +5 +4 +25 +8 +125 +16 +625 +32 +3125 +2 +5 +4 +25 +8 +125 +16 +625 +32 +3125 diff --git a/tests/5-bonus/testcases/15-transpose.out b/tests/5-bonus/testcases/15-transpose.out new file mode 100644 index 0000000..006d9b5 --- /dev/null +++ b/tests/5-bonus/testcases/15-transpose.out @@ -0,0 +1 @@ +1042523985 -- GitLab