社区讨论

谔谔求助

P2036[COCI 2008/2009 #2] PERKET参与者 7已保存回复 20

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
20 条
当前快照
1 份
快照标识符
@lodpl2x1
此快照首次捕获于
2023/10/31 10:27
2 年前
此快照最后确认于
2023/11/07 01:01
2 年前
查看原帖
这道入门题即“蛇形方阵”也是入门题之后放进了我的记账小本本里,都是搞了好久的入门题
个人认为这个应该至少橙 小声BB
废话不多说,帮助送关注。
哈罗大家好我又又又又是那个牛奶小咖啡,我又来求助啦!
给出我可读性极差的代码并且膜奆佬们。
CPP
#include <bits/stdc++.h>
using namespace std;

int n, x = 1, y;
long long a[15], b[15];
bool nw[15];
int ans = -1;

void perket(int p) {
	if (p == n + 1){ // 如果到头了
		return ; // 就滚
	}
	for (int i = 1; i <= n; i++){ // for到最后
		if (!nw[i]){ // 如果没选过
			x *= a[i]; // 甜度计算方式
			y += b[i]; // 酸度计算方式
			if (ans > abs(x - y)){ // 如果太大
				ans = abs(x - y); // 就赋值
			}
			nw[i] = 1; // 那么下面就是选过的方案
			perket(p + 1);
			nw[i] = 0; // 好我们又没选过了
			y -= b[i]; // 没选过撇清酸度
			x /= a[i]; // 没选过撇清甜度
		}
	}
}

int main() {
	cin >> n;
	for (int i = 1;i <= n;i++){
		cin >> a[i] >> b[i];
	}
	perket(1); // 小白编程从1开始
	cout << ans << endl;
	return 0;
}

回复

20 条回复,欢迎继续交流。

正在加载回复...