社区讨论
求助!边界条件
P2036[COCI 2008/2009 #2] PERKET参与者 2已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo3bbml9
- 此快照首次捕获于
- 2023/10/24 03:50 2 年前
- 此快照最后确认于
- 2023/10/24 03:50 2 年前
感觉总体应该问题不大,但是输出的时候所有的样例cha都是没变的
C#include<iostream>
#include<cmath>
using namespace std;
struct food {
int s;//酸度
int b;//苦度
};
int n;
food arr[10];
int book[100];
long cha = 99999999;
//index是food数组里头的索引
void dfs(int index,int sums,int sumb) {
//全部选了一遍
if(index>=n){
if (abs(sums-sumb )< cha) {
cha = abs(sums - sumb);
}
return;
}
for (index; index < n; index++) {
//不能重复选的话
if (book[index] == 0) {
//选了
book[index] = 1;
dfs(index++, sums * arr[index].s, sumb + arr[index].b);
//不选
book[index] = 0;
}
}
}
int main() {
cin >> n;
//放在数组1-n的位置上
for (int i = 0; i <n; i++) {
cin >> arr[i].s >> arr[i].b;
}
dfs(0, 1, 0);
cout << cha;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...