提交记录 #56
提交时间:2024-10-29 22:17:12
语言:c
状态:Accepted
编译情况:编译成功
固定测试点#1:
固定测试点#2:
额外测试点#3600:
M42【期中测验4】期末考试 *
#include<stdio.h>
void findCombinations(int n, double m) {
int a=0;
int combinations[1000][3];
for(int i=0;i<=n;i++){
for(int j=0;j<=n-i;j++){
int k=n-i-j;
double g=i*10+j*5+k*2.5;
if (g==m){
combinations[a][0] = i;
combinations[a][1] = j;
combinations[a][2] = k;
a++;
}
}
}
if (a==0){
printf("Error!\n");
}else {
for (int i = 0; i < a- 1; i++) {
for (int j = i + 1; j < a; j++) {
if (combinations[i][0] < combinations[j][0] ||
(combinations[i][0] == combinations[j][0] && combinations[i][1] < combinations[j][1]) ||
(combinations[i][0] == combinations[j][0] && combinations[i][1] == combinations[j][1] && combinations[i][2] < combinations[j][2])) {
int temp[3];
temp[0] = combinations[i][0];
temp[1] = combinations[i][1];
temp[2] = combinations[i][2];
combinations[i][0] = combinations[j][0];
combinations[i][1] = combinations[j][1];
combinations[i][2] = combinations[j][2];
combinations[j][0] = temp[0];
combinations[j][1] = temp[1];
combinations[j][2] = temp[2];
}
}
}
for(int i=0;i<a;i++){
printf("%d:%d,%d,%d\n",i+1, combinations[i][0], combinations[i][1], combinations[i][2]);
}
}
}
int main(){
int n;
double m;
scanf("%d %lf",&n,&m);
findCombinations(n, m);
return 0;
}