From 72af0dedf9e18911da65b9a5c4906689e868d9fc Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Mon, 8 Jun 2026 17:10:31 +0800 Subject: [legacy] Add functional and performance test suites --- rcc-legacy/tests/upload/digui3.sy | 91 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 rcc-legacy/tests/upload/digui3.sy (limited to 'rcc-legacy/tests/upload/digui3.sy') diff --git a/rcc-legacy/tests/upload/digui3.sy b/rcc-legacy/tests/upload/digui3.sy new file mode 100644 index 0000000..bdac931 --- /dev/null +++ b/rcc-legacy/tests/upload/digui3.sy @@ -0,0 +1,91 @@ +int n; +int k; +int cnt; +int a[60]; + +void solve1(int p,int sum,int last) +{ + int i; + if(sum==n){ + if(p==k){ + cnt = cnt+1; + } + return; + } + if(sum>n){ + return; + } + i=last; + while(i>=1){ + a[p]=i; + sum=sum+i; + solve1(p+1,sum,i); + sum=sum-i; + i=i-1; + } +} + +void solve2(int p,int sum,int last) +{ + int i; + if(sum==n){ + cnt = cnt+1; + return; + } + if(sum>n){ + return; + } + i=last; + while(i>=1){ + a[p]=i; + sum=sum+i; + solve2(p+1,sum,i-1); + sum=sum-i; + i=i-1; + } +} + +void solve3(int p,int sum,int last) +{ + int i; + if(sum==n){ + cnt = cnt+1; + return; + } + if(sum>n){ + return; + } + i=last; + while(i>=1){ + a[p]=i; + sum=sum+i; + solve3(p+1,sum,i); + sum=sum-i; + i=i-2; + } +} + +int main() +{ + n = getint(); + k = getint(); + cnt=0; + solve1(0,0,n); + putint(cnt); + putch(10); + cnt=0; + solve2(0,0,n); + putint(cnt); + putch(10); + cnt=0; + if(n%2==0) { + solve3(0,0,n-1); + } + else { + solve3(0,0,n); + } + putint(cnt); + putch(10); + + return 0; +} -- cgit v1.2.3