这道入门题即“蛇形方阵”也是入门题之后放进了我的记账小本本里,都是搞了好久的入门题
个人认为这个应该至少橙 小声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;
}