teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードの追加

2021/01/25 11:00

投稿

ibis_k
ibis_k

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,10 @@
1
1
  ### 前提・実現したいこと
2
2
  visual studio で#include<algorithm> using namespace std;
3
- としてmin, max 関数を使おうとすると以下のなエラーが出てしまいます。
3
+ としてmin, max 関数を使おうとすると以下のようなエラーが出てしまいます。
4
4
  algorithm をincludeしているのに何故でしょうか。
5
5
 
6
- ここに質問の内容を詳しく書いてください。
7
- (例)PHP(CakePHP)で●●なシステムを作っています。
8
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
9
6
 
7
+
10
8
  ### 発生している問題・エラーメッセージ
11
9
 
12
10
  ```
@@ -15,8 +13,45 @@
15
13
 
16
14
  ### 該当のソースコード
17
15
 
18
- ```ここに言語名を入力
16
+ ```c++
17
+ #include<iostream>
18
+ #include<cmath>
19
+ #include<algorithm>
20
+
21
+ using namespace std;
22
+
23
+ #define INF 10000000;
24
+ #define rep(i,n) for (int i=0;i<n;i++)
25
+
26
+ const int maxN=9;
27
+ int N, A, B, C;
28
+ int ls[maxN];
29
+
30
+ int dfs(int ind, int a, int b, int c){
31
+ if(ind==N){
32
+ if(min(a,b,c)>0){
33
+ return abs(a-A)+abs(b-B) + abs(c-C) -30;
34
+ }
19
- ソースコード
35
+ else{
36
+ return INF;
37
+ }
38
+ }
39
+ int ret0 = dfs(ind+1, a, b, c);
40
+ int ret1 = dfs(ind+1, a+ls[ind], b, c) + 10;
41
+ int ret2 = dfs(ind+1, a, b+ls[ind], c) + 10;
42
+ int ret3 = dfs(ind+1, a, b, c+ls[ind]) + 10;
43
+ return min(ret0, ret1, ret2, ret3);
44
+ }
45
+
46
+
47
+ int main(){
48
+ cin >> N >> A >> B >> C;
49
+ rep(i,N) cin >> ls[i];
50
+
51
+ int res = dfs(0,0,0,0);
52
+ cout << res << endl;
53
+ return 0;
54
+ }
20
55
  ```
21
56
 
22
57
  ### 試したこと