谔谔求助
查看原帖
谔谔求助
317198
MilkyCoffee楼主2020/6/7 16:31

这道入门题即“蛇形方阵”也是入门题之后放进了我的记账小本本里,都是搞了好久的入门题

个人认为这个应该至少橙 小声BB

废话不多说,帮助送关注。

哈罗大家好我又又又又是那个牛奶小咖啡,我又来求助啦!

给出我可读性极差的代码并且膜奆佬们。

#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;
}
2020/6/7 16:31
加载中...