2 条题解
-
1
#include<bits/stdc++.h> #define int long long #define b bool using namespace std; const int N = 11; const int inf = 0x3f3f3f3f; int a[N]; bool hqt[N]; int sum; int n; int ans; bool dfs(int s , int ans){ if(s > sum){ return false; } if(sum == s){ ans ++; if(ans == 3){ return true; } s = 0; } for(int i = 1 ; i <= n ; i ++){ if(hqt[i]){ continue; } hqt[i] = true; if(dfs(s + a[i] , ans)){ return true; } hqt[i] = false; } return false; } signed main(){ freopen("triangle.in" , "r" , stdin); freopen("triangle.out" , "w" , stdout); cin >> n; for(int i = 1 ; i <= n ; i ++){ cin >> a[i]; sum += a[i]; } if(sum % 3 != 0){ cout << "no"; return 0; }else{ sum /= 3; } if(dfs(0 , 0)){ cout << "yes"; }else{ cout << "no"; } return 0; }
信息
- ID
- 548
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 470
- 已通过
- 25
- 上传者