2 条题解
-
12230134娄耀 (2212238) LV 8 @ 2023-07-15 18:03:47
//太简单辣 #include<bits/stdc++.h> using namespace std; long double used[4],a[4],ans=-18446744073709551616; // ↑这个-2^64次方真的是我背的,不要怀疑我抄网上的代码 bool vis[4]; void dfs(int dep) { if(dep==4) { long double s=(used[0]-used[1])*(used[2]+used[3]); ans=max(ans,s); } for(int i=0;i<4;i++) { if(vis[i])continue; used[dep]=a[i]; vis[i]=true; dfs(dep+1); vis[i]=false; } } int main() { for(int i=0;i<4;i++) cin>>a[i]; dfs(0); cout<<fixed<<setprecision(0)<<ans; return 0; }
-
02024-08-26 16:17:31@
太神奇了,如果数组从1开始计数,数组里输入的第一个数就消失了,最后一个数也变成0
并且如果把dfs(0)这句注释掉就正常了#include<iostream> #include<stdio.h> using namespace std; long long a[5], b[5], ans = (-1)*(1<<30); bool vis[5] = {0, 0, 0, 0, 0}; void dfs(int dep){ if(dep == 4){ ans = max(ans, (b[0]-b[1])*(b[2]+b[3])); return; } for(int i = 0; i < 4; i++){ if(!vis[i]){ b[dep] = a[i]; vis[i] = true; dfs(dep+1); vis[i] = false; } } } int main(){ ios::sync_with_stdio(false); for(int i = 0; i < 4; i++)cin >> a[i]; dfs(0); cout << ans; return 0; }
- 1
信息
- ID
- 1592
- 难度
- 8
- 分类
- (无)
- 标签
- 递交数
- 9
- 已通过
- 8
- 通过率
- 89%
- 被复制
- 5
- 上传者